如何从Google Chrome扩展程序发送推文?

时间:2012-03-10 22:08:59

标签: google-chrome-extension twitter

我正在关注Google oAuth教程。我在授权用户方面遇到了一些麻烦。

我将用户发送到Twitter进行授权。因为这是chrome扩展而且没有回调。我不知道如何代表该用户发送推文。 我是怎么做的:

  1. 我有一个背景页面,其中包含从twitter授权用户的代码。在用户安装扩展程序时,后台页面将该用户发送到Twitter进行授权。我的授权方法在回拨时被调用。但不知道我是否有一切要发推文。
  2. 现在,当用户点击扩展程序图标时,会出现popup.html。在此页面上,我希望用户发送推文。怎么样?
  3. 以下是我的代码:

    的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方法是否正确在背景页面中?由于我的授权正在接到电话,我为用户发了多少推文?

    任何帮助将不胜感激。我希望能够解决这个问题来完成我的扩展。

1 个答案:

答案 0 :(得分:2)

您无需在https://api.twitter.com/oauth/authorize中请求onAuthorized - 一旦您启用该功能,您已经拥有密钥且用户已通过身份验证。

请尝试在http://api.twitter.com/1/account/verify_credentials.json中请求onAuthorized。您应该看到包含用户信息的JSON响应。