2012-08-03 139 views
21

我有这个网站在这里: http://msdn.microsoft.com/en-us/library/jj164022(v=office.15).aspx如何在SharePoint 2013中获得oauth访问令牌?

在某些部分文中说: 下面的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 
}, 
}) 

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

回答

2

您的整个方法是不正确的。当涉及到使用JavaScript访问Sharepoint 2013服务器的REST服务时,您不需要Access令牌。您必须改用Sharepoint 2013跨域库。

http://msdn.microsoft.com/en-us/library/jj164022.aspx页的使用Oauth令牌呈现出经典的REST请求后解释说:

这个请求看起来有点不同,如果你正在写在JavaScript中你的应用程序,但使用SharePoint 2013跨域库。在这种情况下,您不需要提供访问令牌。以下代码演示了如果使用跨域库并希望以XML而不是JSON的形式接收列表的OData表示形式,该请求的外观。请参阅如何使用跨域库从远程应用程序访问SharePoint 2013数据以获取有关使用跨域库的更多信息。

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

这应该是你正确的答案

+4

如何为通过REST访问SharePoint列表的应用程序/服务生成令牌? – AnimaSola 2014-05-14 03:08:43

+1

@AnimaSola我不知道...我自己搜索了很多答案。 Oauth似乎只用于Sharepoint应用程序。我最终做的是使用sharepoint clasic flow验证其他呼叫:向用户指出的sharepoint页面呈现web视图,在用户向Microsoft认证后获取FedAuth和rTfa cookie,并将其与每次休息呼叫附加到一起 – 2014-05-14 08:05:07

5

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

+3

在这种情况下,我们如何可以访问REST API客户端像Android或iOS设备? – 2015-05-16 09:01:11

相关问题