新手问题 绑定新浪微博发微博

larryzhao · 2012年10月26日 · 最后由 larryzhao 回复于 2012年10月26日 · 3304 次阅读

之前分享到weibo都是用的weibo的javascript片段, 这次想自己做个分享微博的界面, 像知乎那样的, 然后服务端call api去把他发出去.

昨天看了一下weibo的文档(其实一直都没怎么看过), 想来请教一下, 在绑定之后, 具体是应该怎么操作在服务端获取已经绑定了的用户的access_token? API上看起来好像都是要再打开授权页面的, 只不过如果已经授权, 那么授权页面会一闪而过.

怎么做能像知乎那样分享呢?

共收到 12 条回复

https://github.com/plataformatec/devise https://github.com/intridea/omniauth https://github.com/beenhero/omniauth-weibo-oauth2

之前是用這三個gem做處理

  1. 先取得access_token存在db
  2. 每個request都帶access_token

不過微博的限制頗多,像是access_token的expire time和禁止獲取email....,不知道現在有無改進。

#1楼 @hellolucky123 恩, 这一步已经做好了, 我不是很清楚的是access_token expire之后如何获取? 我看api文档好像都要再带用户到授权页面点一下? 不知道我理解的是不是正确, 求教

#2楼 @larryzhao 應該是如此沒錯,或著寫信去要求更長的expire time!

#2楼 @larryzhao 每次用户使用新浪微博账号登录的时候,更新一下他的token就好,现在的token貌似是一个星期有效吧,你们不会在用户不登录的时候偷偷摸摸发什么东西吧?

@hellolucky123 @fresh_fish 感谢, 偷偷摸摸肯定不会拉,呵呵,那不是自封流氓么.

那就是说如果假设是一个星期有效的话, 每过一个星期就一定要打开一次授权页面才能更新token是么?

是啊,现在微博就是这样啊,每次连接的话得重新授权,这时候你更新一下用户的 access_token 就行了。

#5楼 @larryzhao 微博目前应该没有提供刷新 token 的接口

@fresh_fish 多谢啊, 我看douban的文档是提供了refresh token的, 那样的话是不是我可以后台不断的用refresh token去延长access token的时间? 就可以一直保持有有效的access token了?

#8楼 @larryzhao 豆瓣我不清楚 按理说应该可以这样的吧

新浪微博好像不提供refresh token... 至少我夏天看的时候是这样 所以当acess token过期以后 需要用户手动登陆去点一下那个授权才可以... 好像已经被回答过了 =__,=

@leozwa 是的, 现在也不提供refresh token.

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册