您的位置:首页 > 移动开发

twitter 创建基于网站的app 实时获取tweets

2013-07-11 00:00 239 查看
1 必须得有一个twitter账户

2 创建一个基于自身网站的app(后期可用到其他网站) https://dev.twitter.com/apps 如果只是希望获取tweets就可以不用填写callback url了

3 创建bearer token,参考网页:https://dev.twitter.com/docs/auth/application-only-auth

4 根据key和secret创建一组base64加密数据,具体php这样实现

echo base64_encode( $key . ':' . $secret );


5 通过post请求获取bearer token

// 生成header
$auth = base64_encode( $key . ':' . $secret );
$headers = array(
'Authorization: Basic ' . $auth
);

$ch = curl_init();

// 连接
curl_setopt($ch, CURLOPT_URL, 'https://api.twitter.com/oauth2/token');

// 发送post
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('grant_type' => 'client_credentials'));

// 发送header
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_exec($ch);
curl_close($ch);

页面会输入一组 bearer token

6 根据刚得到的token获取自己的tweets,php代码如下,并记得修改其中的$screen_name为你自己的:

$headers = array(
'Authorization: Bearer ' . $access_token
);
$ch = curl_init();

// 连接
curl_setopt($ch, CURLOPT_URL, 'https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=' . $screen_name . '&count=10');

// 发送header
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// 不直接输出数据,而是返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);

// 返回的json数据在$content里,再转换成对象或者数组到$data里
$data = json_decode($content);


7 有可能你会经常修改你的screen_name,那么可以从上面代码里输入的得到的user_id来修改你的api_url为: https://api.twitter.com/1.1/statuses/user_timeline.json?user_id=*****&count=10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐