Twitter应用程序专用身份验证
Twitter Application-Only Authentication
我正在尝试使用一个普通的旧XMLHttpRequest访问twitter API。它不起作用。我已经尝试了显而易见的事情(刷新我的证书等)。
有什么想法吗?Twitter是否不允许客户端API访问???
function getAccessToken () {
var secret = encodeURI("xxx");
var key = encodeURI("yyy");
var keyAndSecret = key + ":" + secret;
var encoded = btoa(keyAndSecret);
var authRequest = new XMLHttpRequest();
authRequest.open("POST", "https://api.twitter.com/oauth2/token");
authRequest.setRequestHeader("Authorization", "Basic " + encoded);
authRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
authRequest.onreadystatechange = function () {
if (authRequest.readyState == 4) {
var accessToken = JSON.parse(authRequest.response);
console.log("access token:", accessToken);
}
}
authRequest.send("grant_type=client_credentials");
}
我遇到了类似的问题,返回了以下内容:
code: 170,
message: 'Missing required parameter: grant_type',
label: 'forbidden_missing_parameter'
但通过将帖子数据移动到自己的var,然后使用该var 设置内容长度来修复它
var postData = "grant_type=client_credentials";
...
authRequest.setRequestHeader("Content-Length", postData.length);
...
authRequest.send(postData);
对于那些稍后引用的人来说,问题可能是编码方案。我曾经https://www.base64encode.org/对消费者密钥/秘密进行编码,然后请求通过了(之前是403)。
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 身份验证后获取Facebook图片
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- Twitter应用程序专用身份验证
- Passport.js成功的身份验证根本没有调用
- 通过JavaScript访问需要身份验证的页面
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用JavaScript捕获基本身份验证凭据
- javascript中的Spotify身份验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- Twitter API 1.1无法对您2进行身份验证
- javascript api,用于在第三方域上存储身份验证令牌
- 实施Facebook's无用户身份验证的Graph API
- CRM身份验证问题
- 外部专用API身份验证(使用主干)