【已解决】新浪微博API授权过程如何自动获得CODE?
使用新浪微博API, authorize 那一步需要的 code 现在不能直接获得, 需要人工将地址在浏览器打开, 通过重定向的url 可以看到code 的值。
https://api.weibo.com/oauth2/authorizeaction=submit&response_type=code&redirect_uri=&client_id=?
cliend_id是 app_key 的值。
如果之前浏览器中没有登录状态的微博账号,则会让你手动输入账号密码, 如图:
输入正确后点击授权才会看到需要的重定向 url.
当然, 像模拟后面这个步骤只要发送正确的POST 请求就可以了, 问题是POST 的ticket参数不确定。
ticket 大概是这种形式:
ST-AAA-servertime-xd-BBB
其中已知的AAA 是用户id 用base64计算而得; servertime 是GET得来的服务器时间戳(10位);
BBB看起来是 MD5 加密后的形式, 而且对于同一账号每次都不一样, 问题是不知道究竟是用什么参数加密得来的MD5值?
还望各位多指教!谢谢!
补充:
已经搞定了这个问题。
没有看出来这个“MD5”值是如何加密得来的,也无须知道。这个ticket是在之前发出过一个GET请求得来的,而这个GET请求后面的参数和”模拟登陆微博“中需要的参数很像,其中的密码加密方式也一样。获得了这个ticket值以及其他一些参数,作为后续POST用,也就是上面提到的用来获取code的POST。这个POST请求时要注意hearder信息,要包含Referer信息。
欢迎交流: 新浪微博 http://weibo.com/rongxs
https://api.weibo.com/oauth2/authorizeaction=submit&response_type=code&redirect_uri=&client_id=?
cliend_id是 app_key 的值。
如果之前浏览器中没有登录状态的微博账号,则会让你手动输入账号密码, 如图:
![]() |
输入正确后点击授权才会看到需要的重定向 url.
当然, 像模拟后面这个步骤只要发送正确的POST 请求就可以了, 问题是POST 的ticket参数不确定。
ticket 大概是这种形式:
ST-AAA-servertime-xd-BBB
其中已知的AAA 是用户id 用base64计算而得; servertime 是GET得来的服务器时间戳(10位);
BBB看起来是 MD5 加密后的形式, 而且对于同一账号每次都不一样, 问题是不知道究竟是用什么参数加密得来的MD5值?
还望各位多指教!谢谢!
补充:
已经搞定了这个问题。
没有看出来这个“MD5”值是如何加密得来的,也无须知道。这个ticket是在之前发出过一个GET请求得来的,而这个GET请求后面的参数和”模拟登陆微博“中需要的参数很像,其中的密码加密方式也一样。获得了这个ticket值以及其他一些参数,作为后续POST用,也就是上面提到的用来获取code的POST。这个POST请求时要注意hearder信息,要包含Referer信息。
欢迎交流: 新浪微博 http://weibo.com/rongxs