调用人人网API
大致步骤与上篇调用新浪微博API类似。只是感觉新浪微博的做的更好一些,人人网的非常多要手动操作
与新浪微博类似,先在人人网开放平台http://dev.renren.com/注冊站内应用, 把该填的填好,URL就写www.baidu.com就成。
记下APP ID API KEY Secret Key 和你之前写的URL。我就写的www.baidu.com
授权步骤是这种,原文參见 http://wiki.dev.renren.com/wiki/Authentication
先构造一个URL:
https://graph.renren.com/oauth/authorize?client_id=YOUR_API_KEY&redirect_uri=YOUR_CALLBACK_URL&response_type=code
记得redirect_uri=后面要写完整,我写的是http://www.baidu.com 前面的http://一定要有
在打开的页面中授权,跳转至还有一个页面后(我的就是百度),看这个页面的URL最后有一个code=XXX,把最后的XXX都复制下来。
如今就有Authorization Code了,下一步是通过这个Authorization Code构造access token
再构造一个URL:
https://graph.renren.com/oauth/token?grant_type=authorization_code&client_id=YOUR_API_KEY&redirect_uri=YOUR_CALLBACK_URL&client_secret=YOUR_SECRET_KEY&code=THE_CODE_FROM_ABOVE
相应的都知道怎么写了吧。
打开后。假设正常的话。会得到一串JSON格式的返回值,最后面有一个"access_token":
把那个东西后面的一串编码记下来,这个就是access_token
最后在调用API时,能够下载人人网的java版的SDK
下载链接在这里:https://codeload.github.com/renrenplatform/renren-api2-sdk-java/zip/master
祝一切顺利!
今天在调用人人网API的时候。发现对旧版的人人主页无法获得学校等信息,后来在人人网接口的測试工具http://dev.renren.com/tools 上发现是能返回全部信息的。百思不得其解。后来想到可能是授权时的权限问题,即在获得Authorization Code的时候,有一个可选參数scope,假设不加的话是默认权限,可能这种权限还不够。于是找到scope參数的页面:http://wiki.dev.renren.com/wiki/%E6%9D%83%E9%99%90%E5%88%97%E8%A1%A8 不是非常清楚究竟须要什么參数。于是索性把全部的參数都写了上去。
获得了code。再转成token,測试。果然获得了全部信息。