Yammer REST API CORS
Posted
技术标签:
【中文标题】Yammer REST API CORS【英文标题】: 【发布时间】:2014-09-13 02:09:30 【问题描述】:我在 Yammer 中设置了一个应用程序并添加了 javascript 源,但仍然无法发出 xhr 请求
XMLHttpRequest cannot load https://www.yammer.com/platform/login_status.json?client_id=123456789&_=123456789. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com.dev:9000' is therefore not allowed access.
有什么建议吗? 我在本地机器上工作,并让 example.com.dev 解析为 localhost。
【问题讨论】:
我可以让它以某种方式工作,但 Yammer API 和文档很糟糕。 关于您如何使其工作的任何提示?也许你可以回答你自己的问题。 很抱歉,我忘记了我是如何让它工作而不工作的,据我所知,我删除了所有内容,因为它总是要求进行身份验证而不是真正工作。下次我必须处理 Yammer 时,我会在这里发布更新!感谢您的提问,很抱歉没有提供帮助 【参考方案1】:Javascript 来源[应用注册屏幕中的设置] 需要使用重定向 url 域名进行更新
【讨论】:
【参考方案2】:除了将 URL 更改为 api.yammer.com 之外,请确保您没有包含任何额外的标头。
例如,我不小心包含了一个额外的标头“X-Foo-Id”,这会导致 Yammer 出错。
【讨论】:
【参考方案3】:我认为答案就在域名中。
使用 api.yammer.com 代替 www.yammer.com
类似的问题也可以看看 Marco here的回答
【讨论】:
【参考方案4】:请求中没有“Access-Control-Allow-Origin”标头 资源。
你可以做两件事:
请求 yammer.com 允许您的来源,或使用非浏览器 HTTP 请求,例如使用 cURL。 如果你开发了一个已经被允许的源,那么你应该在你的开发机器上重写主机文件和网络服务器配置,将允许的源绑定到你的开发站点。目前这不是一个选项,因为没有根据错误消息发送任何允许源头。这就是你所能做的。
【讨论】:
cURL 不是一个选项。如果我找到联系我们页面,我会向支持人员发送电子邮件:) 谢谢 谁按了-1,也许你可以加个评论和解释。 是我,评论不是而且仍然没有帮助。 cURL 不是一个有效的选项,因为我使用的是 Yammer 的 Javascript SDK。您说的第二条评论要重写主机文件。那是我已经完成并写在问题中的内容,请多加注意。还是谢谢以上是关于Yammer REST API CORS的主要内容,如果未能解决你的问题,请参考以下文章
Yammer REST API:如何获取外部网络的访问令牌?
如何在 yammer 中的特定组上发布时解决 REST Api 中的跨域错误
Yammer REST API - 如何从不同来源 (CORS) 获取数据?