从android中的accountmanager获取dropbox帐户的身份验证令牌

时间:2012-10-16 13:57:27

标签: android oauth dropbox accountmanager

我正在尝试为客户经理在设备中配置的保管箱帐户获取身份验证令牌。我正在使用

accountManager.getAuthToken(account, "DROPBOX",null,Hello.this, new GetAuthTokenCallback(), null);//account"是Dropbox帐户

我看到了允许/拒绝页面。我点击允许,但根本没有调用回调,我没有得到身份验证令牌。我得到了一个谷歌帐户的authtoken(使用不同的authtokentype)。我错过了什么。我不确定dropbox的authTokenType参数。还有任何其他特定的Dropbox参数,如我缺少的bundle参数。 Dropbox有可能这样吗?

检查下面的功能参数

public AccountManagerFuture<Bundle> getAuthToken (Account account, String authTokenType, Bundle options, Activity activity, AccountManagerCallback<Bundle> callback, Handler handler)

链接:http://developer.android.com/reference/android/accounts/AccountManager.html

更新

  1. 我假设因为我们能够在Android帐户和同步(设置)中创建一个Dropbox帐户,所以必须有一个Dropbox身份验证器,它实现了AbstractAccountAuthenticator中的所有功能,包括getAuthToken()。所以dropbox应该支持我认为授予auth令牌。

  2. Dropbox也使用oauth1,而客户经理使用outh 2.0。这是一个问题。任何人都可以对此发表评论吗?

  3. 编辑: UPADATE 2根本不会出现。我认为这不是关于oauth1或2.它只是服务提供商是否通过客户经理公开了auth,正如Nikolay指出的那样。 (因为我为使用oauth1.0的推特做了这个)

    那么有没有人通过客户经理成功获得dropbox的身份验证?

1 个答案:

答案 0 :(得分:0)

AFAIK,Dropbox使用OAuth。除非他们在某个地方记录他们的帐户提供商能够为您提供OAuth令牌,否则您尝试执行的操作将无效。 'authToken'参数是特定于帐户提供者的,这就是API参考中没有值列表的原因。如果有,请参阅Dropbox API手册。