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

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

你可能感兴趣的:(twitter 创建基于网站的app 实时获取tweets)