2014-09-02 186 views
3

我正在尝试拨打新的Office 365 File REST API。 (如解释here)。Office 365 OneDrive REST API - “invalid_client”

我正在使用Postman休息客户端发送请求。

我已经在Azure AD中注册了我的应用程序,并授予它对'Office 365 SharePoint Online'的完全权限。

我可以使用在Azure AD中生成的clientId成功获取授权令牌。

但是,当我尝试列出文件,使用访问令牌时出现错误。

------------------ 
RESOURCE HTTP GET: 
------------------ 
URL: https://<OUR_DOMAIN>-my.sharepoint.com/personal/<user_domain>/_api/Files 
HEADER: Authorization: Bearer <access token> 

Response: 

3001000;reason="There has been an error authenticating the request.";category="invalid_client" 

什么会导致此问题?

+0

我有同样的问题。你有没有解决这个问题? – 2015-03-01 12:57:01

+0

对不起,我没有。让我知道如果你找到解决方案。 – Thushara 2015-03-09 21:54:54

回答

1

不知道你试图用什么步骤来解决这个问题,所以很难在这里帮助你。我刚写完了关于注册应用程序以调用OneDrive for Business的步骤的更详细说明。现在这个过程很漫长而且复杂,但我们正在努力使未来更好。

您可以检查出的怎么办AUTH这里的细节:https://dev.onedrive.com/auth/aad_oauth.htm

确保你是不是要求太多权限,因为这将需要您的应用程序由管理员,而不是末端进行身份验证用户。对于大多数应用程序,您可以直接使用应用程序用户可以接受的“我的文件”权限范围。

如果您发布了有关您在AAD中致电,响应和应用配置的更多信息,我可能会提供更多帮助。

+0

感谢您的详细信息。我已经设法让它现在工作。我不清楚如何将范围添加到Azure AD中的应用程序清单。 – Thushara 2015-05-04 22:43:38

1

您可能一直在使用不同的资源。

检查您用于获取访问令牌的资源是否与您请求获取文件的资源相同。

例如:

如果在请求访问令牌是::您刚才提到的资源 “https://开头租户 -my.sharepoint.com/

然后你需要在同一资源上提出访问文件的请求::“https:// tenant -my.sharepoint.com/ _api/v2.0/drive/root/children”

上面的请求给出了根子项列表。

  • 租户 - >域这是注册单位名称。

按照this documentation进一步访问API