android 新浪微博登录获取access_token值的问题

今天测试那边小MM说 工程师这边新浪微博登录不上,我当时就想这个不是做好了么,自己测试登录下果然不行,后来发现微博授权是成功了但是要获取openid和access_token传递给后台,发现access_token值为null,马上就把友盟的demo运行debug了下 ,因为友盟这些值是存放在Bundle里,debug发现qq登录和微博登录返回的值不一样,如下代码就行

		mController.doOauthVerify(LoginResultActivity.this, SHARE_MEDIA.SINA,new UMAuthListener() {
            @Override
            public void onError(SocializeException e, SHARE_MEDIA platform) {
            	 dissDialog();
            }
			@Override
            public void onComplete(Bundle value, SHARE_MEDIA platform) {
                if (value != null && !TextUtils.isEmpty(value.getString("uid"))) {
                	String openid = value.getString("uid");
    		    	String access_token = value.getString("access_key");
    		    	if(openid!=null&&!"".equals(openid)){
    		    		Map<String,String> params = new HashMap<String, String>();
    		    		params.put("platform", "2");
    		    		params.put("openId", openid);
    		    		params.put("openKey", access_token);
    		    		ProtocolManager.getInstance().request(ProtocolEnum.URL_ACCOUNT_LOGIN, params, new RequestListener() {
    		    			@Override
    		    			public void onRequestSucess(String response) {
    		    				Constant.LOGIN_WEIBO_TAG = 1;
    		    				if(!TextUtils.isEmpty(response)){
    		    					LoginInfo loginInfo = JsonHelper.json2Bean(response, LoginInfo.class);
    		    				    if(loginInfo!=null&&loginInfo.getRet()==0){
    		    				    	/**
    		    				    	 * 玩家id保存到内存中
    		    				    	 */
    		    				    	Constant.ID = loginInfo.getId();
    		    				    	//保存玩家id到sd卡中
    		    				    	SaveUtils.getInstance().saveString("id", loginInfo.getId());
    		    				    	SaveUtils.getInstance().saveInt("login", 3);
    		    				    	loginHX(loginInfo.getId());
    		    				    }else if(loginInfo!=null&&loginInfo.getRet()==1){
    		    				    	ShowToast.show("登录失败");
    		    				    	dissDialog();
    		    				    }
    		    				}
    		    			}
    		    			@Override
    		    			public void onRequestFiled(String errorMsg) {
    		    				Log.e(TAG,"微博=="+errorMsg);
    		    				mHandler.sendEmptyMessage(LOGIN_FAIL);
    		    			}
    		    		});
    		    	}
                }
            }
            @Override
            public void onCancel(SHARE_MEDIA platform) {
            	 dissDialog();
            }
            @Override
            public void onStart(SHARE_MEDIA platform) {
            	createDialog();
            }
      });

最关键是这行代码String access_token = value.getString("access_key");,开始天真的以为这个键是access_token ,后来发现错了 找这种错误最快的就是把友盟的demo运行起来debug看Bundle中的值 就知道键该写啥了!在此记录下

时间: 2024-10-28 11:28:59

android 新浪微博登录获取access_token值的问题的相关文章

新浪微博开发获取access_token的艰难过程

一个网络问题困扰了我好几天,终于幸运的解决了. 言归正传,笔者按照M了个J的教程来进行新浪的开发,到抓取微博数据的时候挂了,一直无法读取微博接口,现在仍没解决,不过我新建了一个应用,用自己的账号调试通过了.接下来说说遇到的几个坑. 网络用的AFN框架,开发环境Xcode5,ARC.最开始一直按照MJ的做法用response_type=token来获取,一直挂,万念俱灰.后Google到有人说这个方式被新浪用来只开放给web了,客户端没戏,尝试着获取code,然后再用code获取access_to

Android中onActivityResult()获取返回值

需求:从FirstActivity跳到SecondActivity,在SecondActivity中进行了操作并返回到FirstActivity. FirstActivity中的主要代码: private static final int REQUEST_CODE = 1; private static final int RESULT_CODE = 101; //触发事件 public void gotoSencond(){ Intent intent=new Intent(this,Seco

Android授权登录新浪微博获取用户个人信息

转载请注明出处:http://blog.csdn.net/u010214991/article/details/49149793 记得第一次发博文的时候我写了一篇文章,题为" Android使用官方API分享内容到QQ和微信(非第三方集成)",里面介绍了如何使用各官方提供的SDK来实现分享功能.那么今天我们来讲讲如何通过新浪微博授权登录获取用户信息,大家都知道,现在很多软件除了本地注册登录之外,还增加了第三方登录功能,最常见的是直接授权QQ等软件来登录应用而无需自行注册,其原理更多的是

Android之QQ授权登录获取用户信息

有时候我们开发的app须要方便用户简单登录.能够让用户使用自己的qq.微信.微博登录到我们自己开发的app. 今天就在这里总结一下怎样在自己的app中集成QQ授权登录获取用户信息的功能. 首先我们打开腾讯开发平台这个网页,点击---->移动应用---->创建应用,成功创建应用后.能够产生我们须要的App ID和App Key,例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmVhcl9odWFuZ3poZW4=/font/5a6

PHP 基于laravel框架获取微博数据之一 模拟新浪微博登录

参考资料:http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/http://blog.csdn.net/fly_leopard/article/details/51148904http://www.tuicool.com/articles/uIJzYff http://blog.csdn.net/u010029983/article/details/46364113等 模拟新浪微博登录是抓取新浪数据的基础,网上的参考资料

【黑马Android】(07)多线程下载的原理/开源项目xutils/显示意图/隐式意图/人品计算器/开启activity获取返回值

多线程下载的原理 司马光砸缸,多开几个小水管,抢救小朋友. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import

关于微信获取access_token接口,返回值为-1000的问题

今天打算获取token来,来修改公众号的菜单,结果像往常一样输入了appid 和 secret ,结果没有返回access_token,而是返回了一个-1000,并提示 "未知返回状态" 最终翻看微信开发api找到需要去配置IP白名单.只需要配置访问来源IP即可. 同时使用这个 http://ip.qq.com/ 可以拿到IP. 重新获取access_token,成功.事实证明还是要多看文档API.

百度地图 Android签名证书的sha1值获取方式

百度地图安全码构成: Android签名证书的sha1值+";"+packagename(即:数字签名+分号+包名),例如: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.baidumap.demo 如果是app是debug版本(直接运行):可以在eclipse中直接查看:windows -> preferance -> android -> build 如下图示: 其中"SH

微博开放平台开发(一)获取access_token

因为工作需要,接触到微博开放平台开发.特做此记录方便查用. 一.准备. 1.微博账号.注册很容易. 2.微博账号成为开发者. 登录微博开放平台  登录你注册的账号,然后进入管理中心完善开发者基本信息和身份认证. 这个时候,还需要浏览一下微博开放平台的文档,来了解一些这个开放平台的一些规范性的名词. 每个链接都点进去看看,顺便看看微博API文档,你会发现,里边有介绍说,一些接口的调用需要获取access_token.本文就是要实现这个目标. 二.创建应用. 比如咱们要开发一个网站,然后在这个网站里