gpt4 book ai didi

java - com.google.gdata.client.GoogleService.setUserToken(android.accounts.AccountManager.getAuthToken(???))

转载 作者:行者123 更新时间:2023-11-29 09:25:50 24 4
gpt4 key购买 nike

我有使用 gdata 从用户的 Google 财经投资组合中检索提要的工作代码,但我必须使用 setUserCredentials(username,password)。我想做的是避免询问用户的用户名/密码,因为 Android 设备已经可以访问他们的 Google 帐户。

我相信我应该能够使用 setUserToken(String) 来做到这一点,但我不知道如何从 Android 获取适当的 token 。我试过 AccountManager.get(context).blockingGetAuthToken() 但这不是正确的调用,或者我向它传递了错误的参数。

有没有人在手机上使用用户现有的 Google 凭证获取 gdata?

提前致谢,莱尼

最佳答案

AccountManager.blockingGetAuthToken() 是正确的调用。向其传递一个 Account 和一个 String authTokenType -- 在您的例子中,"android""finance" ,您的选择(它正在寻找的字符串的值没有明确记录)。

获取帐户的简单方法是将所有客户端通信作为 onPerformSync() 调用的一部分,调用实现同步适配器的类。您可以找到许多关于设置 SyncAdapter 的教程。作为让 SyncAdapter 运行的一部分,您最终会得到一堆权限,可能如下所示:

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.finance" />

最后两个,再一次,有点狡猾,从谁知道的地方挖出来的。

关于java - com.google.gdata.client.GoogleService.setUserToken(android.accounts.AccountManager.getAuthToken(???)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2025985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com