私は Android にアプリケーションを持っており、AccountManager を使用して AuthToken を取得し、Facebook や Twitter で何かをしようとしています。だから私はこれを持っています:
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.facebook.auth.login");
Bundle options = new Bundle();
Account myAccount=null;
for (int i=0;i<accounts.length;i++) {
if (accounts[i].type.equals("com.facebook.auth.login")) myAccount=accounts[i];
//options.putString("facebookUser", accounts[i].name);
}
am.getAuthToken(
myAccount, // Account retrieved using getAccountsByType()
"Manage your tasks", // Auth scope
options, // Authenticator-specific options
this, // Your activity
new OnTokenAcquired(), // Callback called when a token is successfully acquired
new Handler(new OnError()));
私の 2 つのコールバックは onTokenAcquired です。
public class OnTokenAcquired implements AccountManagerCallback<Bundle> {
@Override
public void run(AccountManagerFuture<Bundle> result) {
try {
Bundle bundle = result.getResult();
Log.e("onTokenAcquired",bundle.getString(AccountManager.KEY_AUTHTOKEN));
} catch (OperationCanceledException e) {
Log.e("onTokenAcquired","operationcanceled");
} catch (AuthenticatorException e) {
Log.e("onTokenAcquired","authenticatorexception");
} catch (IOException e) {
Log.e("onTokenAcquired","IOException");
}
}
}
および OnError:
public class OnError implements Callback {
@Override
public boolean handleMessage(Message msg) {
Log.e("onError","ERROR");
return false;
}
}
Android 開発者ガイド (http://developer.android.com/intl/es/training/id-auth/authenticate.html) に従っています。したがって、エラー時またはトークンの取得時の2つのオプションがあり、それぞれに Log.e() を使用して何かを読み取ることができますが、何も書き込まれていません。
誰でも私を助けることができますか?エラーが発生した場合、またはトークンが取得されなかった場合、少なくとも何か作業を行う必要がありますが、何が起こっているのかわかりません。