图 API:driveItem 的上传内容对 AzureChina 抛出 501 not_implemented 错误

Graph API: Upload contents of driveItem throws 501 not_implemented error for AzureChina

我想更新 OneDrive 项目上的文件内容。为此,我使用了这个 API.

PUT /drives/{drive-id}/items/{parent-id}:/{filename}:/content

对于非中国 azure 和 Microsoft graph 端点,这非常适用。

https://graph.microsoft.com

然而,当我在 AzureChina 上尝试这个时,它抛出 501 错误。

https://microsoftgraph.chinacloudapi.cn

错误:

这是我在将数据上传到文件时收到的错误响应。

    {
    "error": {
        "code": "notSupported",
        "message": "Cannot upload content to an item representing a folder.",
        "innerError": {
            "date": "2021-05-10T09:01:12",
            "request-id": "98a8b075-bb90-42fe-8620-7303e669f4ec",
            "client-request-id": "98a8b075-bb90-42fe-8620-7303e669f4ec"
        }
    }
}

这个在AzureChina没有实现吗? 另一件事是 Graph Explorer 不适用于 AzureChina。 AzureChina 是否有单独的图形资源管理器?

据此page OneDrive 和 Excel Graph API 的功能受到 Microsoft Cloud China 的限制,但没有更多详细信息,具体不支持什么。

对于 Azure 中国,解决 Graph API 的方法是使用 SharePoint REST API v1.

上传驱动器项目的文件内容

URL: https://{site_url}/_api/web/GetFolderByServerRelativeUrl('/Folder Name')/Files/add(url='newFile.txt',overwrite=true)
Headers:
"Accept": "application/json; odata=verbose",
"Authorization": "Bearer " + accessToken
Method: "POST",
Body:
<File_contents>

授权 URL: https://login.partner.microsoftonline.cn/{{TenantID}}/oauth2/v2.0/authorize

访问令牌URL:https://login.partner.microsoftonline.cn/{{TenantID}}/oauth2/v2.0/token

范围:https://{tenantId}-my.sharepoint.cn/.default

确保您已为 SharePoint 添加适当的 API 权限并在相应应用程序的 Azure AD 门户中授予管理员同意。