27

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

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

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

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

4

3 回答 3

5

似乎没有办法仅使用 JavaScript 获取访问令牌。您需要使用应用程序来生成访问令牌。有关如何获取令牌的更多信息,请参阅Sharepoint OAuth 提示和常见问题解答。

于 2012-08-05T05:28:53.523 回答
4

你的整个方法是不正确的。在使用 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

这应该是你的正确答案

于 2013-07-18T07:45:31.327 回答
0
于 2019-03-12T09:47:13.493 回答