2011-08-24 114 views
2

我正在創建一個android應用程序,我必須在twitter上使用twitter4j庫上傳圖片。Twitter的回調網址

我無法在應用程序的twitter上指定回調URL。

請幫幫我。

回答

1

您應該使用意圖過濾器,在嘰嘰喳喳的情況下獲得的回調爲

requestToken = twitterFactory.getInstance() 
        .getOAuthRequestToken("oauth://com.example.twitter"); //note that "oauth" is your scheme name, "com.example.twitter" is your host name on your intent-filter 

到活動中要得到你的授權插件後回調以下意圖過濾

<activity android:name=".TwitterActivity" 
       android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <category android:name="android.intent.category.BROWSABLE"/> 
     <data android:scheme="oauth" android:host="com.example.twitter" /> 
    </intent-filter> 
</activity> 

而在你的您想獲得回叫的活動(在這種情況下,TwitterActivity)讓您的驗證者爲

Uri uri = getIntent().getData(); 
if (uri != null && uri.toString().startsWith("oauth://com.example.twitter")) { 
    String verifier = uri.getQueryParameter("oauth_verifier"); 
    // request for access token using requestToken and verifier which are used to login second time 
} 

注意到這裏重要的是

- >首先你通過調用Web API

索要請求記號 - >這一請求令牌可以用來授權用戶

- >授權之後,你瀏覽器加載某個可以啓動您的活動的Url,因爲您已添加意圖 - 使用相應的主機名和方案名稱過濾您的活動(即主機=「OAuth的」,計劃=「com.example.twitter」)

- >您可以從加載地址讓你訪問令牌即從中提取驗證和使用您的請求令牌

查看詳細代碼,請訪問https://bitbucket.org/hintdesk/android-how-to-tweet-in-twitter-within-android-client/src/f8923a4a641313cae7243da51530b472730c2439?at=default