从客户经理中检索访问令牌

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#

无法获取经理帐户的 Google Ads 指标,无法获得客户帐户的权限

CSocket服务器

客户端未经授权使用此方法检索访问令牌服务帐户错误