[Android 騰訊微博]– Oauth2.0認證以及登錄


申請AppKey,AppSecret
必須到微博開放平臺官方網站申請應用的AppKey和AppSecret後,才能完成微博登錄。

SDK(Android_SDK_v1.2.jar)適用的開發環境
JAVA SDK v5 及以上
Android SDK 2.2(level8) 及以上
依賴包:httpmime-4.1.3.jar
特別說明: Android SDK 2.2以下版本的Webview不提供處理SSL異常的方法,因此,如需在Andriod2.2以下版本開發應用,請使用修改版SDK(Android_SDK_v1.2_Fix.jar,該版本隻能使用OAuth1.0授權和調用1.0 API,所有連接均為普通http連接)

SDK使用方法
修改AndroidManifest.xml文件
在<manifest>標簽中,添加:
<!– 允許網絡訪問 –>
<uses-permission android:name="android.permission.INTERNET" />
在<application>標簽中,添加:
<!– OAuth Version 2. 使用  WebView 輔助進行ImplicitGrant方式授權必須 –>
<activity
    android:name="com.tencent.weibo.webview.OAuthV2AuthorizeWebView"
    android:label="@string/app_name" >
</activity>
添加必要JAR包
Android_SDK_v1.2.jar 和 httpmime-4.1.3.jar

———————–以上為官方說明———————–

認證很簡單,官方直接給出瞭代碼,

[java] 
public class OauthActivity extends Activity{ 
     private OAuthV2 oAuth; 
         
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.oauth); 
 
        oAuth=new OAuthV2("http://www.tencent.com/zh-cn/index.shtml"); // url回調地址 
        oAuth.setClientId("801**5505"); // appkey 
        oAuth.setClientSecret("be1dd1410434a9f7d5a2586b****6829"); // secret 
 
        Intent intent = new Intent(OauthActivity.this, OAuthV2AuthorizeWebView.class); 
        intent.putExtra("oauth", oAuth); 
        startActivityForResult(intent,1);    
    } 
     
    protected void onActivityResult(int requestCode, int resultCode, Intent data)   { 
        if (requestCode==1) { 
            if (resultCode==OAuthV2AuthorizeWebView.RESULT_CODE)    { 
                oAuth=(OAuthV2) data.getExtras().getSerializable("oauth"); 
                //調用API獲取用戶信息 
                UserAPI userAPI=new UserAPI(OAuthConstants.OAUTH_VERSION_2_A); 
                try { 
                    String response=userAPI.info(oAuth, "json");//獲取用戶信息 
                    ((TextView)findViewById(R.id.textView)).setText(response+"\n"); 
                } catch (Exception e) { 
                    e.printStackTrace(); 
                } 
                userAPI.shutdownConnection(); 
                 
            } 
        } 
    } 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *