Я следую Google oAuth учебник. И у меня возникли проблемы с авторизацией пользователя.
Я отправляю пользователя в твиттер для авторизации. Так как это расширение chrome и обратного вызова нет. Я не знаю, как отправить твит от имени этого пользователя.
Как я делаю вещи:
- У меня есть фоновая страница с кодом авторизации пользователя из твиттера. В тот момент, когда пользователь устанавливает расширение, фоновая страница отправляет этого пользователя в твиттер для авторизации. Мой метод авторизации вызывается с их обратным вызовом. Но не знаю, есть ли у меня все, чтобы сделать твит.
- Теперь, когда пользователь нажмет на значок расширения, появится popup.html. И на этой странице я хочу, чтобы пользователь отправил твит. Как?
Ниже приведен мой код:
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
Я получаю 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 прав, когда он есть на фоновой странице? Как только я получаю разрешение на звонок, насколько далеко я могу сделать твит для пользователя?
Любая помощь будет оценена. Я надеюсь решить эту проблему, чтобы закончить мое продление.