【问题标题】:How can I get an oauth access token in sharepoint 2013?如何在 sharepoint 2013 中获取 oauth 访问令牌?
【发布时间】:2012-08-02 00:39:50
【问题描述】:

我在这里有这个网站: http://msdn.microsoft.com/en-us/library/jj164022(v=office.15).aspx

某些部分的文字说: 以下 JavaScript 代码演示了如何使用 JQuery 发出这个返回所有站点列表的 JSON 表示的 GET 请求。它还假设您有一个存储在 accessToken 变量中的有效 OAuth 访问令牌。如果您从应用程序 Web 内部进行此调用,则不需要访问令牌,就像在 SharePoint 托管的应用程序中一样。

jQuery.ajax({
url: http:// site url/_api/web/lists,
type: "GET",
headers: {
"ACCEPT","application/json;odata=verbose",
"Authorization", "Bearer " + accessToken
},
})

具体问题是如何获取访问令牌??

【问题讨论】:

    标签: javascript jquery sharepoint oauth


    【解决方案1】:

    似乎没有办法仅使用 JavaScript 获取访问令牌。您需要使用应用程序来生成访问令牌。有关如何获取令牌的更多信息,请参阅Sharepoint OAuth Tips and FAQs

    【讨论】:

    • 在这种情况下,我们如何在 Android 或 iOS 设备等客户端访问 REST API?
    【解决方案2】:

    您的整个方法都不正确。在使用 javascript 访问 sharepoint 2013 服务器的 REST 服务时,您不需要访问令牌。您必须改用 Sharepoint 2013 跨域库。

    http://msdn.microsoft.com/en-us/library/jj164022.aspx 的页面在显示使用 oauth 令牌的经典 REST 请求后进行了解释:

    如果您使用 JavaScript 编写应用程序但使用 SharePoint 2013 跨域库,则此请求看起来会有些不同。在这种情况下,您不需要提供访问令牌。以下代码演示了如果您使用跨域库并希望将列表的 OData 表示形式接收为 XML 而不是 JSON,则此请求的外观。有关使用跨域库的详细信息,请参阅如何:使用跨域库从远程应用程序访问 SharePoint 2013 数据。

    这是当前该文章的网址 http://msdn.microsoft.com/en-us/library/fp179927.aspx

    这应该是你的正确答案

    【讨论】:

    • 如何为通过 REST 访问 SharePoint 列表的应用/服务生成令牌?
    • @AnimaSola 我不知道...我自己搜索了很多答案。 Oauth 似乎仅用于 Sharepoint 应用程序。我最终做的是使用 sharepoint 经典流程对其余调用进行身份验证:向用户指示的 sharepoint 页面显示 web 视图,在用户通过 Microsoft 进行身份验证后获取 FedAuth 和 rTfa cookie,并将它们附加到每个 rest 调用中跨度>
    • 这似乎与使用访问令牌的 Sharepoint 代码示例相矛盾。如果文档中存在使用 Autho 的方法,那么这如何使使用 Autho 不正确。出于我的目的,Sharepoint 跨域库不起作用。我需要使用 Autho。因此,如果有人有这些信息,那对我来说会很棒
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 2015-07-21
      • 2019-09-10
      • 2018-02-17
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 2012-08-03
      • 1970-01-01
      相关资源
      最近更新 更多