首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >(需要401授权)在Twitter API请求上

(需要401授权)在Twitter API请求上
EN

Stack Overflow用户
提问于 2014-06-13 12:56:04
回答 2查看 1.6K关注 0票数 0

我试图使用AngularJS对Twitter做一个简单的请求,基于本教程,我得到了以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"GET http://search.twitter.com/search.json?callback=angular.callbacks._0&q=angularjs 401 (Authorization Required)"

代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$scope.twitter = $resource('http://search.twitter.com/:action',
    {action:'search.json', q: 'angularjs', callback:'JSON_CALLBACK'},
    {get:{method:'JSONP'}}
);

它是否与以下声明有关(摘自Twitter文档)?

401 -未自动化-(.)也是在其他情况下返回的,例如,所有对API v1端点的调用现在都返回401 (使用APIv1.1代替)。

为什么我会有这个错误?通过使用http://search.twitter.com作为资源,这是否意味着我正在使用最新的API (v1.1)?我可以选择访问哪个API吗?多么?

如果我使用http://api.twitter.com作为资源,则会得到一个403错误:

Failed to load resource: the server responded with a status of 403 (Forbidden)

根据Twitter文档的说法,这意味着

(...) This code is used when requests are being denied due to update limits.

这没有道理,因为我试了几十次.我很困惑。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-06-13 13:48:58

嗨,我刚刚完成了Twitter的集成,我就是这样做的:

  1. 在twitter上创建一个应用程序
  2. 这里下载twitteroauth
  3. 使用以下代码创建一个名为twitter.php的文件:

twitter.php:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
include_once "lib/twitteroauth.php";

class Twitter {
    private $consumerKey = "YourConsumerKey";
    private $consumerSecret = "YourConsumerSecret";
    private $token = "AppToken";
    private $tokenSecret = "AppTokenSecret";

    function __construct() {
        if(isset($_GET['page'])) {
            $this->getTweets($_GET['page']);
        }
    }
    //In my case i just wanted to get Tweets
    private function getTweets ($page) {
        $connection = $this->getConnectionWithAccessToken();
        echo json_encode($connection->get("statuses/user_timeline", array("count" => 5, "page" => $page)));
    }

    private function getConnectionWithAccessToken() {
        return new TwitterOAuth($this->consumerKey, $this->consumerSecret, $this->token, $this->tokenSecret);
    }
}
$twitter = new Twitter();

角服务/工厂:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var url = "http://yourwebsite.com/twitter.php";
var page = 1;
$http.get(url, {
        params: {
            page : page //Optional params, but necesary for the example to work
        }
    })
    .success(function (response) {
        //Do something with the response
        page++;
    });

仅此而已,只需添加您的私人日期,如consumerKey和令牌,它就会工作(在本例中,调用API获取一些tweet)。对于其他API命令,请参阅twitter中的API文档,您可以找到这里

祝你好运

票数 1
EN

Stack Overflow用户

发布于 2014-09-29 05:47:18

不知道这是否有帮助,但Twitter有一个很棒的工具,可以在您开始编写代码之前探索twiiter API。Twitter控制台。显然,在控制台上进行粗略搜索将向您显示需要授权。另外,它还向您展示了来自Twitter的查询响应等等。如果你想要具体的细节,就像我的例子一样,这会很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24213712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文