是的,這是可能的。一旦你掌握了谷歌賬戶(如你所描述的),你只需要從AccountManager中爲GData服務申請一個授權令牌。
如果android設備已經有一個認證令牌(對於您試圖訪問的特定GData服務),它將返回給您。如果沒有,AccountManager將請求一個並將其退還給您。無論哪種方式,您不必擔心AccountManager處理它。
在下面的例子中,我使用的是谷歌電子表格API:
ArrayList<Account> googleAccounts = new ArrayList<Account>();
// Get all accounts
Account[] accounts = accountManager.getAccounts();
for(Account account : accounts) {
// Filter out the Google accounts
if(account.type.compareToIgnoreCase("com.google")) {
googleAccounts.add(account);
}
}
AccountManager accountManager = AccountManager.get(activity);
// Just for the example, I am using the first google account returned.
Account account = googleAccounts.get(0);
// "wise" = Google Spreadheets
AccountManagerFuture<Bundle> amf = accountManager.getAuthToken(account, "wise", null, activity, null, null);
try {
Bundle authTokenBundle = amf.getResult();
String authToken = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN);
// do something with the token
InputStream response = sgc.getFeedAsStream(feedUrl, authToken, null, "2.1");
}
我希望這有助於。