2012-07-19 69 views
2

在我的應用程序中,我想在登錄過程中使用oAuth協議來處理多個網站,例如Twitter,Facebook等。我有一些關於Twitter oAuth的問題。Android:How to Twitter oAuth通過賬戶管理器

我用這些行訪問令牌和機密DATAS:

AccountManager am = AccountManager.get(MyActivity.this); 
Account[] accounts = am.getAccountsByType("com.twitter.android.auth.login"); 

if(accounts.length > 0) { 
    Account acct = accounts[0]; 
    am.getAuthToken(acct, "com.twitter.android.oauth.token", null, MyActivity.this, new AccountManagerCallback<Bundle>() { 
     public void run(AccountManagerFuture<Bundle> arg0) { 
      // Accessing token 
     } 
    }, null);    
} else { 
    Toast.makeText(getApplicationContext(), "There is no defined account", Toast.LENGTH_SHORT).show(); 
} 

所以我成功了。但我很好奇這些問題:

  • 我是否需要任何Twitter應用程序?
  • 我該如何檢查這些標記,還是必須檢查?我的意思是我將如何達到twitter_id之類的用戶信息?

任何信息都會很棒。

回答

3

我需要任何Twitter應用程序嗎?

是的,您將需要一個Twitter應用程序用於通過Twitter帳戶進行身份驗證。爲此,請轉至Twitter Developers以創建您的應用程序。

我該如何檢查這些標記,還是必須檢查?我的意思是我如何 到達twitter_id之類的用戶信息?

當您在Twitter開發者網站上註冊您的Twitter應用程序時,Twitter將生成您的應用程序的消費者密鑰和消費者機密。如果你願意,你可以重置它們。它們是寫在你的應用程序的專用部分。您可以前往<your Twitter Developers account>(您可以使用自己的Twitter憑據進行身份驗證)>My Applications並點擊您的應用來訪問此部分。

對於OAuth令牌和OAuth密碼,Twitter開發人員會在創建最後一個應用時爲應用程序所有者生成它們。對於其他用戶,您將必須執行OAuth身份驗證流程以獲取其(OAuth)令牌和祕密。您也可以使用此過程檢索所有者OAuth令牌。在這個過程結束時,Twitter API會爲您提供最終用戶的令牌(OAuth令牌和OAuth密碼),Twitter ID以及經過驗證的用戶的屏幕名稱(用戶名)。有了這些信息,你將能夠獲得你想要的所有信息。