使用新浪微博开放平台api同步微博内容至自己网站(新浪微博新的API授权方式为OAuth2以往的BasicAuth(图))

优采云 发布时间: 2021-10-19 11:09

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博新的API授权方式为OAuth2以往的BasicAuth(图))

  1、注册新浪账号2、开发者认证

  我需要认证,我等了一天。提交身份认证后即可使用,无需等待认证通过。

  3、创建APP

  系统会为此应用分配一个APP KEY和APP SECRET。这两个字符串非常重要,将在以后的身份验证或信息交换中使用。

  4、设置应用授权回调页面

  应用信息-高级信息-OAuth2.0 授权设置,设置授权回调页面。

  如果没有自己的网站,可以设置redirecturl为,程序中的redirecturl要和这个一致。

  如图所示:

  

  如果没有设置授权回调页面地址,或者程序与此不同,会出现如下错误:

  访问出错了!

你所访问的站点在新浪微博的认证失败,请你联系gnocob或者稍后再试。

(error:redirect_uri_mismatch)

  如图所示:

  

  5、下载所需版本的sdk

  6、查看可用的 API

  %E6%96%87%E6%A1%A3

  可用于我的应用程序的接口:

  

  7、测试及其他

  Python SDK 调用 API 测试如下:

  #encoding=utf-8

from weibo import APIClient

def get_access_token(app_key, app_secret, callback_url):

client = APIClient(app_key=app_key, app_secret=app_secret, redirect_uri=callback_url)

# 获取授权页面网址

auth_url = client.get_authorize_url()

print auth_url

# 在浏览器中访问这个URL,会跳转到回调地址,回调地址后面跟着code,输入code

code = raw_input("Input code:")

r = client.request_access_token(code)

access_token = r.access_token

# token过期的UNIX时间

expires_in = r.expires_in

print 'access_token:',access_token

print 'expires_in:', expires_in

return access_token, expires_in

if __name__ == '__main__':

app_key = '1234567'

app_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

callback_url = 'https://api.weibo.com/oauth2/default.html'

access_token, expires_in = get_access_token(app_key, app_secret, callback_url)

# 上面的语句运行一次后,可保存得到的access token,不必每次都申请

#access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

#expires_in = '00000000'

client = APIClient(app_key=app_key, app_secret=app_secret, redirect_uri=callback_url)

client.set_access_token(access_token, expires_in)

# 使用获得的OAuth2.0 Access Token调用API

print client.get.statuses__user_timeline()

print client.post.statuses__update(status=u'测试OAuth 2.0发微博')

  OAuth 认证方式:

  得到auth_url后,长这样:

  %3A//oauth2/default.html&response_type=code&client_id=180341588&display=default,

  用浏览器打开,会跳转到授权回调页面地址,像这样:

  ,

  获取后面的code值,申请access_token。成功后即可获得访问权限。

  注意新浪微博新的API授权方式是OAuth2,与之前的Basic Auth不同。详细参考:

  如何使用OAuth2以及如何使用API​​,请参考:

  如果在使用过程中出现问题,在google或者官方论坛搜索提示信息,

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线