昨天关于新浪的授权鼓捣了一天才弄好,所以写一个这个过程。主要用到的是OAuthSwift(一个适用于iOS/macOS等的OAuth库,支持1.0和2.0)
另外关于整个授权的过程,Practical Guide for using Sina Weibo’s API 也很有帮助。
- 新浪开发者,申请App,填写认证和App资料(略)
- 在project中导入OAuthSwift库(略)
- 授权 doOAuthWeibo
|
|
- 关于callback URL
因为微博只接受http格式的URL,所以我在自己博客新建了一个页面作为callback URL(http://kelicheng.github.io/simple-sender/)
在这个页面放一段代码重新定向到App中。1234<script type="text/javascript">var query = window.location.href.replace("http://your/callback/url", "YourAppName://oauth-callback/");window.location.assign(query)</script>
此外还要在project中设置URL Schemes:
Targets -> (YourAPP) -> Info -> URL Types -> Add -> URL Schemes = YourAppName
OAuthSwift的作者还给出了Ruby和PHP的代码示例,以及另一种使用内置浏览器授权的解决方案。详见:https://github.com/OAuthSwift/OAuthSwift/wiki/API-with-only-HTTP-scheme-into-callback-URL