您的位置:首页 > 其它

新浪开放平台注意事项

2016-09-13 21:34 295 查看
1、首先创建web应用,应用创建成功之后会有一个 App Key和App Secret,在调用新浪api和第三方登录会用到

2、想调用微博api首先需要在(微博登录/授权登录)中获得Token 和 Access Token

3、在获取Access Token的时候需要用post提交,但是传值的方式是get方式,如下:

$url='https://api.weibo.com/oauth2/access_token?client_id=2551323065&client_secret=782a0f351a536f44a7c854f74198eb51&grant_type=authorization_code&code='.$code.'&redirect_uri=https://15600781185.applinzi.com/callback.php';


可以用curl模拟post提交:

$ch = curl_init();   //1.初始化
curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST');//3.请求方式
//4.参数如下
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,array('Accept-Encoding: gzip, deflate'));//gzip解压内容
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);//6.执行

4、发布一条微博消息的时候也是post提交,传值方式是get方式,但是在post提交时需要放一个空的json数据

<?php
//登录成功返回值
$code = $_GET['code'];
$curl = new curl();
$url = 'https://api.weibo.com/oauth2/access_token?client_id=3266704496&client_secret=9ad731aecbe32f3c0f07cf7df2381b35&grant_type=authorization_code&code='.$code.'&redirect_uri=15600781185.applinzi.com/week1.php';
$tmpInfo = $curl->send($url,'POST');
$token = json_decode($tmpInfo,true);
$access_token = $token['access_token'];

//发布微博
$content = '我是小狗';
$url = 'https://api.weibo.com/2/statuses/update.json?access_token='.$access_token.'&status='.$content;
//发送一个空json数据
$data = array();
$data =json_encode($data);
$result = $curl->send($url,'POST',$data);
print_r($result);

//curl类
class curl
{

function send($url,$method,$data='')
{
$ch = curl_init();   //1.初始化
curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);//3.请求方式
//4.参数如下
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//https
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');//模拟浏览器
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
if($method=="POST"){//5.post方式的时候添加数据
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);//6.执行
return $tmpInfo;
}
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  开放平台