2019独角兽企业重金招聘Python工程师标准>>>
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