我有一段简单的代码,使用Yammer JavaScript api查找Yammer上的用户可用的组,它看起来有点像这样:
yam.platform.request({
url: "groups.json?mine=1",
method: "GET",
success: function (data) {
callback(data);
},
error: function (error) {
console.log(error);
},
});
调用是经过仔细包装的,因此每次页面请求只发生一次,但它似乎在完全任意的基础上成功或失败。答案看起来像这样:
Response Headers
Cache-Control:no-cache
Connection:keep-alive
Content-Type:application/json; charset=utf-8
Date:Wed, 26 Nov 2014 17:32:42 GMT
P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Server:nginx
Status:429
Transfer-Encoding:chunked
X-Date:1417023162896
X-Runtime:0.032459
X-UA-Compatible:IE=Edge,chrome=1
或者像这样:
Response Headers
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:https://my-access-origin.sharepoint.com
Access-Control-Expose-Headers:content-type, network_id, authorization, x-csrf-token, www-authenticate, x-xss-protection, ETag
Cache-Control:max-age=0, private, must-revalidate
Connection:keep-alive
Content-Type:application/json; charset=utf-8
Date:Thu, 27 Nov 2014 12:17:38 GMT
ETag:"123a45b67cd89ef01234ab45cd67ef"
P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Server:nginx
Status:200 OK
Strict-Transport-Security:max-age=31536000; includeSubDomains
Transfer-Encoding:chunked
X-Content-Type-Options:nosniff
X-Date:1417090658344
X-Robots-Tag:none
X-Runtime:0.066098
X-UA-Compatible:IE=Edge,chrome=1
X-XSS-Protection:1; mode=block
在前一种情况下,我在我的开发工具的“网络”面板中看到一条错误消息,如下所示:
XMLHttpRequest无法加载 https://api.yammer.com/api/v1/groups.json?mine=1&&_=123456。没有 '访问控制允许来源'标题出现在请求的上 资源。起源' https://my-access-origin.sharepoint.com'是 因此不允许访问。响应的HTTP状态代码为429。
由于以下几个原因,这没有任何意义 - 首先,请求在两种情况下都完全相同,其次是我得到了" 429太多请求"作为状态代码,但显式报告应设置Access-Control-Allow_origin标头。它在我的要求中从未出现过,但似乎确实存在于成功的回应中。
有人可以解释发生了什么吗?
答案 0 :(得分:0)
首先确保您在Yammer注册的应用程序的“Javascript Origins”
中使用了网址如果仍然是同一个问题那么它可能是:
这与Yammer rest API限制有关,超过了这个429错误 https://developer.yammer.com/restapi/
请在这篇文章中参考我的回答 XMLHttpRequest: Network Error 0x80070005, Access is denied