从客户经理中检索访问令牌
Posted
技术标签:
【中文标题】从客户经理中检索访问令牌【英文标题】:Retrieve Access token from Accounts Manager 【发布时间】:2011-11-18 18:13:43 【问题描述】:我已经为 Facebook 实现了自己的身份验证器,并将 access_token
存储在 Accounts Manager 中。
我已经尝试了所有 3 种方法来检索 auth_token
,但都是徒劳的。
在我的方法中,我已经启动了一个线程,在Threads RUN
方法中,我尝试了以下方法:-
authTokenBundle = accountManagerFuture.getResult();
manager.blockingGetAuthToken(accounts[0], "com.facebook", false);
&你上面显示的方式...
manager.getAuthToken(account, "com.facebook", true, new AccountManagerCallback() ...
但是我的代码在以上 3 行都被阻止了。没有异常/错误。
我需要在我的应用中获取auth-token
。
【问题讨论】:
【参考方案1】:您可以使用应用程序SharedPreferences 来存储和检索令牌。
我的实现:
private String getTokenFromSharedPreferences()
SharedPreferences settings = getSharedPreferences();
return settings.getString(TOKEN, null);
private String getTokenSecretFromSharedPreferences()
SharedPreferences settings = getSharedPreferences();
return settings.getString(TOKEN_SECRET, null);
public void setTokenInSharedPreferences(String token)
putInSharedPreferences(TOKEN, token);
public void setTokenSecretInSharedPreferences(String tokenSecret)
putInSharedPreferences(TOKEN_SECRET, tokenSecret);
public void putInSharedPreferences(String key, String value)
SharedPreferences.Editor editor = getSharedPreferences().edit();
editor.putString(key, value);
editor.commit();
protected SharedPreferences getSharedPreferences()
return activity.getSharedPreferences(PREFERENCE_NAME, 0); //0 = MODE_PRIVATE.
【讨论】:
以上是关于从客户经理中检索访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
客户端未经授权使用此方法检索访问令牌 Gmail API C#