我正在查看JumpNotes的代码,有一件事我想不通。 JumpNotes: AccountList.java
public static final String[] GOOGLE_ACCOUNT_REQUIRED_SYNCABILITY_FEATURES =
new String[]{ "service_ah" };
这用于获取Google帐户:
mAccountManager.getAccountsByTypeAndFeatures(SyncAdapter.GOOGLE_ACCOUNT_TYPE,
SyncAdapter.GOOGLE_ACCOUNT_REQUIRED_SYNCABILITY_FEATURES,
这是什么功能" service_ah"?这是什么意思? 有什么方法可以获得Android上谷歌帐户的身份验证服务的来源吗?
答案 0 :(得分:2)
来自Android文档:
帐户功能是特定于身份验证器的字符串标识 布尔帐户属性。例如,功能用于说明 Google帐户是否有特定服务(例如Google) 已启用日历或Google Talk)。功能名称及其含义 发布在与相关验证者相关的某个地方。
我没有找到任何官方文档,但似乎每个功能都是service_code形式,其中代码代表Google服务。
从此(过时)list of services,“啊”显然代表“Google Mashups Editor& Google App Engine”
答案 1 :(得分:0)
This python Google account authentication example对您没有多大帮助,但我们可以学习以下两件事:
首先,Google帐户的连接由GAE分两步处理。
<强>&GT;这需要两次调用,一次是Google帐户的ClientLogin服务, 然后是App Engine登录前端的第二个。
其次,我们可以在第101行找到令牌“_ah”,这意味着在这种情况下我们在下次要授权时使用该服务启用自动身份验证的cookie(用户数据存储到cookie中以跳过第一个身份验证呼叫)。
因此,在您的情况下,“service_ah”表示您希望用户进行一次身份验证,然后身份验证过程应由AccountManager自动处理。