5

我正在查看 JumpNotes 的代码,但有一件事我只是想不通。 JumpNotes:AccountList.java

public static final String[] GOOGLE_ACCOUNT_REQUIRED_SYNCABILITY_FEATURES =
        new String[]{ "service_ah" };

这用于获取谷歌帐户,如下所示:

mAccountManager.getAccountsByTypeAndFeatures(SyncAdapter.GOOGLE_ACCOUNT_TYPE,
            SyncAdapter.GOOGLE_ACCOUNT_REQUIRED_SYNCABILITY_FEATURES,

这个功能“service_ah”是什么?这是什么意思?有什么方法可以获取 Android 上 google 帐户的身份验证器服务的来源吗?

4

2 回答 2

2

来自 Android 文档:

帐户功能是特定于身份验证器的字符串标记,用于标识布尔帐户属性。例如,功能用于判断 Google 帐户是否启用了特定服务(例如 Google 日历或 Google Talk)。功能名称及其含义发布在与相关身份验证器相关的某个位置。

我没有找到任何官方文档,但似乎每个功能都采用 service_code 形式,其中代码代表 Google 服务。

从这个(过时的)服务列表中,“ah”显然代表“Google Mashups Editor & Google App Engine”

于 2011-12-04T09:26:16.720 回答
0

这个python谷歌账户认证例子对你没有什么帮助,但我们可以学到以下两点:

首先,谷歌帐户上的连接由 GAE 分两步处理。

> 这需要两次调用,一次调用 Google Accounts 的 ClientLogin 服务,然后调用 App Engine 的登录前端。

其次,我们可以在第 101 行找到标记“_ah”,这意味着在这种情况下,我们启用 cookie 以在他下次要进行身份验证时使用服务进行自动身份验证(用户数据存储在 cookie 中以跳过第一次身份验证调用)。

因此,在您的情况下,“service_ah”意味着您希望用户进行一次身份验证,然后身份验证过程应由 AccountManager 自动处理。

于 2011-12-09T09:54:17.880 回答