次のコードを使用して、 Facebook の AuthToken ( Facebook for Android で保存) を取得しようとしています。
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.facebook.auth.login");
if (accounts.length > 0) {
for(int j = 0; j < accounts.length; j++) {
Account account = accounts[j];
if(account.type != null && account.type.equals("com.facebook.auth.login")) {
Log.e(RuntimeVars.MY_NAME, "FACEBOOK-TYPE FOUND");
am.getAuthToken(account, "com.facebook.auth.login", null, ConversationList.this,
new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> arg0) {
try {
Bundle b = arg0.getResult();
Log.e(RuntimeVars.MY_NAME, "THIS AUTHTOKEN: " + b.getString(AccountManager.KEY_AUTHTOKEN));
}
catch (Exception e) {
Log.e(RuntimeVars.MY_NAME, "EXCEPTION@AUTHTOKEN");
}
}
}, null);
}
}
}
ログイン認証情報が見つかり、FACEBOOK-TYPE FOUNDが LogCat に書き込まれますが、THIS AUTHTOKEN: [...]もEXCEPTION@AUTHTOKENもログに記録されません。だから私am.getAuthToken
は決して呼び出されないと思います。
私は何が欠けていますか?
一般的に、Android アカウントから Facebook authtoken を取得するためのより良い (そして少なくとも機能する) 方法があれば、私に知らせてください。
助けてくれてどうもありがとう!
Sさん、よろしくお願いします。