Angular 2 - Twitter 搜索 api - 预检时仅应用程序的身份验证错误 400
Posted
技术标签:
【中文标题】Angular 2 - Twitter 搜索 api - 预检时仅应用程序的身份验证错误 400【英文标题】:Angular 2 - Twitter search api - Application-only authentication error 400 on preflight 【发布时间】:2017-03-01 07:51:12 【问题描述】:我尝试使用仅限应用程序的身份验证调用 twitter 搜索 API
但我无法按照文档获取不记名令牌:https://dev.twitter.com/oauth/application-only
let urlAuth = 'https://api.twitter.com/oauth2/token';
let apiKey = encodeURIComponent('xxx');
let apiKeySecret = encodeURIComponent('xxx');
let encoded = btoa(apiKey + ':' + apiKeySecret);
let body = 'grant_type=client_credentials';
let options =
headers: new Headers(
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization': 'Basic ' + encoded
)
;
this.http.post(urlAuth, body, options)
.subscribe(data =>
console.log('twitter auth', data);
);
这是网络日志:
Request URL:https://api.twitter.com/oauth2/token
Request Method:OPTIONS
Status Code:400
Remote Address:104.244.42.194:443
可以从本地主机吗?来自客户端?
【问题讨论】:
【参考方案1】:这是因为 CORS 预检请求 (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests)
现在 Twitter API 似乎不支持 CORS。唯一的方法是从后端服务器发出请求。
【讨论】:
以上是关于Angular 2 - Twitter 搜索 api - 预检时仅应用程序的身份验证错误 400的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Backand 和 Angular 2 连接到 Facebook/Twitter/Google?
Angular-ui select2 在将 Angular 与 twitter-bootstrap 混合时不起作用
typescript Angular 2应用程序角色访问装饰器,包装内置CanAccess功能。当用户角色不是ap时,防止视图转换
如何在 webapp 或 yo angular 上更新和包含 Twitter Bootstrap 3?
如何解决 Twitter 搜索 API 2.0 上的操作员错误
css Boostrap 3媒体查询 - https://scotch.io/quick-tips/default-sizes-for-twitter-bootstraps-media-querie