我将准确地说出我的作业:在网站上添加推特搜索功能。搜索应每20秒自动更新一次,并搜索哈希标记'#EN0700'的最新提及。
推文应该显示在列表中,其中包含日期,作者在推特上的用户名和推文位置数据(推文的推文)。我尝试在https://api.twitter.com/1/geo/search.json?query=Twitter%20HQ示例中使用http://dev.twitter.com/docs/api/1/get/geo/search,但它不显示位置结果。我的网址是否正确?
另一件事是,如果我使用http://api.twitter.com/1/users/search.json?q=Twitter%20API,我收到了:
"{"error":"Could not authenticate you.","request":"/1/users/search.json?q=EN0745"}"
虽然我在oAUTH注册了我的申请。谢谢你的帮助。
答案 0 :(得分:0)
您可以使用我的班级来对请求https://github.com/andreyknupp/Twitter
进行签名<?php
spl_autoload_register ( function ( $class ) {
require_once sprintf ( '%s.php' , $class ) ;
} ) ;
$URL = 'https://api.twitter.com/1/users/search.json';
$Data = Array ( 'q' => 'Search' ) ;
$Authentication = new \Twitter\TwitterAuthentication();
$Authentication->setConsumerKey ( 'UExmB6GoxftjZqdngw' );
$Authentication->setConsumerSecret ( '1yUvMAnrFiu86vCdhwAqM5ZHsgXRVyNhRdUDxeo' );
$Authentication->setAccessToken ( '2660353-PjccZS0nO28zaV0xaxR2UBklZR0nkjjso2wmLa' );
$Authentication->setAccessTokenSecret ( 'DWwLG3RFt1drU0qRc4PHu0wdlmVks08BDM' );
$OAuth = new Twitter\TwitterOAuthentication( $Authentication );
$OAuth->setSignatureURL ( $URL . '?' . http_build_query ( $Data , false , '&' ) ) ;
$OAuth->setSignatureMethod( 'GET' ) ;
$curl = curl_init();
curl_setopt( $curl , CURLOPT_URL , $URL . '?' . http_build_query ( $Data , false , '&' ) ) ;
curl_setopt( $curl , CURLOPT_HEADER , false ) ;
curl_setopt( $curl , CURLOPT_HTTPHEADER , Array ( $OAuth->buildAuthorization( $Data ) ) ) ;
curl_setopt( $curl , CURLOPT_RETURNTRANSFER , true ) ;
curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER , false );
$response = json_decode ( curl_exec ( $curl ) ) ;
print_r ( $response ) ;
答案 1 :(得分:0)
最好使用PHP库来简化操作。你可以找到它们here on the Twitter Developers site.