3

我正在尝试找到一种方法来使用主要的 Twitter API 来使用 PHP 搜索推文。最新的 1.1 文档说这应该是可能的。我不想使用http://search.twitter.com API。

我已经建立了一个 Twitter 应用程序并使用消费者、秘密等密钥通过亚伯拉罕的 twitteroauth (https://github.com/abraham/) 连接到它。我可以使用这种方法从 Twitter 中提取我自己的时间线和我自己的生物信息,但是当我尝试使用搜索时,它会失败并显示“缺少查询参数”。

我在该 Git 存储库中稍作修改的 test.php 中使用以下代码:

$parameters = array('q' => 'qwerty');
twitteroauth_row('search/tweets', $connection->get('search/tweets'), $connection->http_code,$parameters);

/* users/search */
$parameters = array('q' => 'brenmurrell');
twitteroauth_row('users/search', $connection->get('users/search', $parameters), $connection->http_code, $parameters);

/* statuses/public_timeline */
twitteroauth_row('statuses/user_timeline', $connection->get('statuses/user_timeline'), $connection->http_code,'q=twitpic');

最后两个调用按预期工作,第一个没有。我收到 400 HTTP 错误,特定的 API 错误代码为 25(缺少查询参数)。

我错过了什么吗?任何人都可以帮助解决可能出现问题的地方,或者这是否是真正损坏的功能?

4

2 回答 2

2

我使用 search/tweets.json API 1.1(和用于 oauth 的 tmhOAuth php lib)遇到了完全相同的问题(“缺少查询参数”)。

API 文档:https ://dev.twitter.com/docs/api/1.1/get/search/tweets

编辑:我解决了我的问题。

tmhOAuth 正在删除我的查询字符串参数(即使它是一个 GET 请求)。参数需要在一个数组中一起发送。

tmhOAuth 之前

$code = $twitter->request(
    'GET',
    $twitter->url('1.1/search/tweets.json?q=test')
);

tmhOAuth 之后(工作)

$code = $twitter->request(
    'GET',
    $twitter->url('1.1/search/tweets.json'),
    array(
        'q' => 'test'     
    )
);
于 2013-05-01T00:34:09.680 回答
0

https://api.twitter.com/1.1/search/tweets.json?q=shrmi14

是我用的那个。

万一你觉得有问题。请参阅 https://dev.twitter.com/console 以生成您自己的查询。

于 2014-05-28T05:13:43.107 回答