我正在关注Google oAuth教程。我在授权用户方面遇到了一些麻烦。
我将用户发送到Twitter进行授权。因为这是chrome扩展而且没有回调。我不知道如何代表该用户发送推文。 我是怎么做的:
以下是我的代码:
的manifest.json
{
"name": "TweetChrome",
"version": "1.0",
"description": "Tweet from Chrome",
"browser_action": {
"default_icon": "images/share.png",
"popup": "popup.html"
},
"permissions": [
"tabs",
"http://ajax.googleapis.com",
"*://*.twitter.com/*",
"clipboardWrite"
],
"options_page": "options.html",
"background_page": "background.html"
}
background.html 我在回调方法的resp中获得了一些html页面标记。我不知道它是为了什么?
var oauth = ChromeExOAuth.initBackgroundPage({
'request_url': 'https://api.twitter.com/oauth/request_token',
'authorize_url': 'https://api.twitter.com/oauth/authorize',
'access_url': 'https://api.twitter.com/oauth/access_token',
'consumer_key': 'key',
'consumer_secret': 'secret',
'scope': '',
'app_name': 'TweetChrome'
});
oauth.authorize(onAuthorized);
function onAuthorized() {
var url = 'https://api.twitter.com/oauth/authorize';
/*as they are optional, i left empty*/
var request = {
'force_login': '',
'screen_name': ''
};
oauth.sendSignedRequest(url, callback, request);
};
function callback(resp, xhr) { alert('it get called too'); };
popup.html 要发推文我正在使用借来的twitter.js。我没写过。
Twitter.verify_credentials({install: true});
Twitter.update("test");
我的oauth方法是否正确在背景页面中?由于我的授权正在接到电话,我为用户发了多少推文?
任何帮助将不胜感激。我希望能够解决这个问题来完成我的扩展。
答案 0 :(得分:2)
您无需在https://api.twitter.com/oauth/authorize
中请求onAuthorized
- 一旦您启用该功能,您已经拥有密钥且用户已通过身份验证。
请尝试在http://api.twitter.com/1/account/verify_credentials.json
中请求onAuthorized
。您应该看到包含用户信息的JSON响应。