android新浪微博登录获取用户信息
来源:互联网 发布:澳洲mac电脑学生打几折 编辑:程序博客网 时间:2024/06/06 20:44
第一步:准备工作
在新浪微博开发者平台http://open.weibo.com/apps/注册并上传应用各种信息(比较多)获取到appkey,关于签名信息最好使用新浪提供的工具省心些,默认的授权回调页https://api.weibo.com/oauth2/default.html要与代码中一致。
第二步:下载新浪SDK添加到工程lib
repositories { flatDir { dirs 'libs' } } compile(name: 'openDefault-1.0.0', ext: 'aar')
第三步:在AndroidManifest.xml文件中添加activity
<!--微博--> <activity android:name="com.sina.weibo.sdk.component.WeiboSdkBrowser" android:configChanges="keyboardHidden|orientation" android:exported="false" android:windowSoftInputMode="adjustResize"></activity>
第四步:代码
public class LoginActivity extends BaseActivity { private static final String SINA_WB_APPKEY = "513793262"; public static final String REDIRECT_URL = "https://api.weibo.com/oauth2/default.html";//默认REDIRECT_URL private AuthInfo mAuthInfo; private SsoHandler mSsoHandler; private String userId = ""; private String name = ""; private String imgUrl = ""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); mAuthInfo = new AuthInfo(this, SINA_WB_APPKEY, REDIRECT_URL, null); } @OnClick({R.id.weibo}) @Override public void onClick(View v) { switch (v.getId()) { case R.id.weibo: mSsoHandler = new SsoHandler(this, mAuthInfo); mSsoHandler.authorize(new MyWeiboAuthListener()); break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (mSsoHandler != null) { mSsoHandler.authorizeCallBack(requestCode, resultCode, data); } }class MyWeiboAuthListener implements WeiboAuthListener { @Override public void onComplete(Bundle values) { Oauth2AccessToken mAccessToken = Oauth2AccessToken.parseAccessToken(values); BleLog.e(mAccessToken.toString()); if (mAccessToken.isSessionValid()) { Map<String,String> pramas = new HashMap<>(); pramas.put("access_token", mAccessToken.getToken()); pramas.put("uid", mAccessToken.getUid()); HttpUtil.get(mContext, "https://api.weibo.com/2/users/show.json", pramas, new MyStringCallback() { @Override public void onError(Call call, Exception e, int id) { } @Override public void onResponse(String response, int id) { BleLog.e(response); JSONTokener jsonParser = new JSONTokener(response); try { JSONObject person = (JSONObject) jsonParser.nextValue(); name = person.getString("name"); userId = person.getString("id"); imgUrl =person.getString("profile_image_url"); } catch (JSONException e) { e.printStackTrace(); } } }); } else { // 应用程序签名不正确时,就会收到 Code,请确保签名正确 BleLog.e(values.getString("code", "")); } } @Override public void onCancel() { } @Override public void onWeiboException(WeiboException e) { } }
0 0
- android新浪微博登录获取用户信息
- Android 新浪微博获取用户信息
- 实现新浪微博第三方登录获取用户信息
- 【Android实战】实现新浪微博第三方登录获取用户信息
- Android——第三方登录——新浪微博——获取用户信息——账户绑定
- Android调用新浪微博显示用户信息
- 新浪微博开放平台,授权成功后获取用户信息
- 新浪微博iOS SDK 授权和获取用户信息
- Android实现JSON对象获取登录新浪微博
- android 新浪微博登录获取access_token值的问题
- Android授权登录新浪微博获取用户个人信息
- Android新浪微博登录
- Android之QQ授权登录获取用户信息
- Android之QQ授权登录获取用户信息
- Android Twitter第三方登录&获取用户信息
- Android之QQ授权登录获取用户信息
- Android之QQ授权登录获取用户信息
- java之《ssm》微博登录获取之用户信息
- MYSQL学习篇之001-LINUX环境MYSQL源代码安装总结
- ompl
- 模拟ATM机
- selenium错误"element not visible"问题
- centos6中yum的安装
- android新浪微博登录获取用户信息
- ROS学习笔记(一):自己动手写一个ROS程序
- IT故事:磁盘加密工具TrueCrypt与“棱镜门”事件
- C++栈的用法及栈的实现
- 解决UICollectionView ReloadData闪一下(隐式动画)
- Android开发-CheckedTextView复选框自定义样式-AndroidStudio
- FrameBuffer
- java并发包concurrent
- IDLE's subprocess didn't make connection的解决办法--转自鱼c论坛