android 新浪微博平臺開發之 ——授權登錄

android 新浪微博平臺開發

一、先需要在新浪微博開放平臺註冊成爲一名開發者:

平臺地址:http://open.weibo.com/

    1、註冊完成後需要進行實名驗證。

這裏寫圖片描述

二、在我的應用中創建應用,填寫相關信息。

這裏寫圖片描述

1、Android包名: 包名必須是你即將要使用新浪微博平臺的應用的包名。
  在 AndroidManifest.xml 文件中找到package="android.weibo_gjk.com.weibo", 引號中的就是包名。
2、Android簽名:
    a、簽名欄後面有個鏈接:獲取簽名工具,點擊鏈接下載對應的apk工具,安裝到手機或者模擬機上。
    b、在安裝好籤名的工具的手機或者模擬機上**安裝好你需要調試的app**。(必須安裝,空app都行,要不然獲取簽名工具的app獲取不到MD5簽名)
    c、打開簽名工具,在包名欄填寫需要簽名也就是步驟b已經安裝好的app的包名,生成MD5簽名。

這裏寫圖片描述

    上面三部提到的app都是同一個,包名也必須一致!複製生成的包名,填寫到對應欄。
3、把其他必要的信息填寫完成,拷貝應用生成的 App key和App Secret備用!

4、點開應用-應用信息-高級信息-填寫授權回調頁

5、點開應用-應用信息-測試信息-填寫測試賬號(應用未審覈發佈之前只能用測試賬號訪問)

三、修改app的默認簽名文件。

    新浪微博提供了簽名文件,我們必須要修改app默認的簽名文件
1、新建簽名文件。android studio提供了自己創建簽名文件的功能。

創建修改簽名文件詳解:http://blog.csdn.net/nimasike/article/details/51457229

2、修改簽名文件。

四、下載新浪微博SDK項目加載SO文件。

1、找到SDK下載的連接:https://github.com/sinaweibosdk/weibo_android_sdk
2、下載後解壓,將SO文件複製到下面main目錄下新建的文件夾jniLibs下

這裏寫圖片描述

這裏寫圖片描述

3、將新浪微博的SDK文件複製到項目App目錄的libs文件夾下,再右鍵選擇 Add as library

這裏寫圖片描述

4、驗證SDK是否成功引用。在配置文件中,執行完步驟三之後看到如圖所示語句表示引用成功:

這裏寫圖片描述

到此準備工作做完了,可以測試授權登錄了:

public class LandingpageActivity extends BaseActivty {
    private SsoHandler mSssoSsoHandler;
    private AuthInfo mAuthInfo;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mAuthInfo = new AuthInfo(getApplicationContext(), CWConstant.APP_KEY, CWConstant.REDIRECT_URL, CWConstant.SCOPE);
//CWConstant.APP_KEY  常量:上面步驟二第3小點保存的Android key

//REDIRECT_URL = "https://api.weibo.com/oauth2/default.html"  常量,回調地址

//SCOPE ="email,direct_messages_read,direct_messages_write,"+ "friendships_groups_read,friendships_groups_write,statuses_to_me_read,"+ "follow_app_official_microblog," + "invitation_write";   常量,應用申請的高級權限

        mSssoSsoHandler = new SsoHandler(this, mAuthInfo);
        mSssoSsoHandler.authorize(new WeiboAuthListener() { //登錄監聽事件
            @Override
            public void onComplete(Bundle bundle) {
            //bundle 登錄成功反饋的數據包
                Log.d("onComplete", bundle + "");
            }

            @Override
            public void onWeiboException(WeiboException e) {

            }

            @Override
            public void onCancel() {

            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(null != mSssoSsoHandler){//調用回調函數
            mSssoSsoHandler.authorizeCallBack(requestCode,resultCode,data);
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章