douban/douban-client

文档中OAuth2.0认证示例关于access_token部分有错误

Closed this issue · 3 comments

  • access_token为NoneType
#1. 引导用户授权
print 'Go to the following link in your browser:' 
print client.authorize_url
code = raw_input('Enter the verification code:')
access_token = client.auth_with_code(code)

代码中auth_with_code并没有返回值,access_token为NoneType:

    def auth_with_code(self, code):
        self.client = self.client.auth_code.get_token(code, redirect_uri=self.redirect_uri)

要获取access_token需要

print 'Go to the following link in your browser:' 
print client.authorize_url
code = raw_input('Enter the verification code:')
client.auth_with_code(code)
client.client.token
  • auth_with_token也没有返回值或对象
#2. 如果有之前有 token,则可以
access_token = client.auth_with_token(token)
    def auth_with_token(self, token):
        self.client = AccessToken(self.client, token)

后续在refresh token的时候会报错

# Refresh Token(请注意:refresh_token 值仅可在引导用户授权完成后获取)
refresh_token = access_token.client.refresh_token
new_access_token = access_token.refresh_token(refresh_token)

@ethinx 感谢反馈。

  • access_token 为 NoneType, auth_with_token, auth_with_token 确实是属于文档错误,后续部分应该继续使用 client 对象;
  • refresh token 报错 之前我把 douban-clientpy-oauth2access_token 混淆了,抱歉.

已经对以上2处错误进行了修复,同时将给 DoubanClient 对象新增了 token_coderefresh_token_code 属性。变更在 liluo@7fb8459 有时间的话帮忙 review 一下

最迟明天下午或者晚上我会将变更 push 到主仓库并打包新版本放到 PyPI,再次感谢。: )

@ethinx 打包已完成,直接安装 pip install douban-client==0.0.5 即可,有问题随时联系我。

@liluo 已更新,要有问题再请教您 ,谢谢。