关于新浪微博开放平台第三方登录接口问题

来源:互联网 发布:网络英文翻译兼职 编辑:程序博客网 时间:2024/05/01 20:39
 我在做新浪微博授权登录时,遇到这么一个问题手工输入新浪的账号密码,可以跳到我的回调页获取token,新浪用户信息。但是用他们的二维码扫码登录,token就获取不到了,这是为什么呢?
通过阅读新浪微博API接口文档,

文档中有这么一句提示:

HTTP请求方式:POST

这句话太简单了,你们想要人家POST什么?让人认为所有的参数都要作为POST发送过去。可事实偏偏不是这样的, OAuth的服务端只要看到本次提交的行为是POST就行, 至于POST集合里面有没有数据,有些什么数据,它才不会管,所以,无论我们在POST里面添加了什么键|值、无论怎么切换顺序,都是错误的,因为它就没有去读取。

 

解决办法:需要使用GET和POST的混合方式来提交

 

提交的地址应该是:

"https://api.weibo.com/oauth2/access_token?client_id={0}&client_secret={1}&grant_type=authorization_code&code={2}&redirect_uri={3}"

请求方式:POST

POST中的数据:空!

 

 0,1,2,3 对应你自己的参数值


如果用curl提交的网址,加上这一句即可

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);

0 0