如题。
本人在做新浪微博的客户端。在OAUTH方式登录的时候,从新浪服务器获得了RequestToken后,要通过RequestToken再次访问新浪服务器,去获得AccessToken看了很多例子,仿写了个。下面是部分代码。
 
//获得RequestToken
mRequestToken=mWeibo.getOAuthRequestToken("weibo4andriod://OAuthActivity"); 
//显示RequestToken    
mTextView1.append("Token:"+mRequestToken.getToken()+"\n");        
mTextView1.append("TokenSecret"+mRequestToken.getTokenSecret()+"\n");
//定义一个Uri变量      
mUri = Uri.parse(mRequestToken.getAuthenticationURL()+ "&from=xweibo");
//调用Acitivity解析Uri,因为Uri为URL地址,所用系统调用内置浏览器        
Intent mIntent=new Intent(Intent.ACTION_VIEW, mUri);        
startActivity(mIntent);
问题出来了,内置浏览器访问完后,我如何获得我需要的名为"oauth_verifier"的元素???

解决方案 »

  1.   

    內置瀏覽器執行授權認證后,會調護到mRequestToken=mWeibo.getOAuthRequestToken("weibo4andriod://OAuthActivity"); 
    這一步設置的callurl,你只要在shouldOverrideUrlLoading方法中攔截次callurl,然後將此url作為Uri 傳給你要跳轉的activity即可!
      

  2.   

    我后来也发现问题出在mRequestToken=mWeibo.getOAuthRequestToken("weibo4andriod://OAuthActivity");但是出现新的问题,就是总说don't have the permission to open the page.请问您遇到过这问题吗? 我的callurl="myapp:getAccessToken",我在Mainfest.xml文件中getAccessToken Activity中添加了intent过滤器
    <data android:scheme="myapp" android:host="getAccessToken">,问什么还会出现这个问题。改成小写好像也不行
      

  3.   

    mRequestToken=mWeibo.getOAuthRequestToken("weibo4andriod://OAuthActivity"); 
    这个问题应该是比较初级的,你可以到一些专门的android技术论坛去看看,www.connectionwe.com,希望能解决您的问题
      

  4.   

    貌似是在配置文件里面添加允许访问网络的权限吧?这个<uses-permission android:name="android.permission.INTERNET" /> 
      

  5.   

    使用startActivityForResult这个方法启动你的Intent
    这样你的Intent结束时能够自动调用onActivityResult方法
    在这个方法的参数中可以获得data例子:
    startActivityForResult(yourIntent);        @Override
    protected void onActivityResult(int resultCode, Intent data) {
    super.onActivityResult(resultCode, data);
                    //你的代码
            }
    小弟也是初学,说的不对的话多多包涵~~
      

  6.   

    那个其实就是accessToken SECret
      

  7.   

    accessToken =requesttoken.getAccessToken(uri.getQueryParameter("oauth_verifier"));