Skip to content

Latest commit

 

History

History
70 lines (42 loc) · 2.46 KB

README.zh-cn.md

File metadata and controls

70 lines (42 loc) · 2.46 KB

OneDrive JS SDK

ts npm version license

本项目封装了 OneDrive 的一小部分 API,仅用于上传文件并生成分享链接。

可以用来搞个网页,比如 OneDrive 图床

创建应用

打开 应用注册 页面,点击新注册,然后需要填写以下项目:

  • 名称

  • 受支持的账户类型

    仅 Microsoft 个人帐户 就够用了

  • 重定向 URI

    比如 https://localhost:3000/

注册完成之后,点击左边目录中的身份验证,选中访问令牌(用于隐式流)并保存。

应用一旦注册完成,就会生成 应用程序(客户端) ID,不过不能直接用,还得先验证应用。点击左边的品牌打造,然后跟着页面上的指引做就是了。

使用

授权

这里使用令牌流验证。使用工具函数 generateAuthUrl 生成授权链接。

import { generateAuthUrl } from '@harrisoff/onedrive-js-sdk'

const authUrl = generateAuthUrl('your-client-id', 'your-redirect-uri')

实际上在原始的 OneDrive API 中还需要一个 scope 参数 这个值没有必要修改,所以直接设置为了 openid https://graph.microsoft.com/Files.ReadWrite.All

重定向回自己的网站后,如果授权成功,url 的 hash 中会有 access_token,否则会有错误信息。

调用 API

有两种方式

可以直接调用原始的 API:

import { uploadSmall, createUploadSession, uploadLargeChunk, share, getShareUrl } from '@harrisoff/onedrive-js-sdk'

也可以使用封装了原始 API 的构造函数:

import OneDriveAPI, { getShareUrl } from '@harrisoff/onedrive-js-sdk'

const client = new OneDriveApi({ accessToken })
const { id: fileId } = await client.upload(file, filePath)
const { shareId } = await client.share(fileId)
const sharingLink = getShareUrl(shareId)

开发文档