我正在制作一个Android应用程序,它应该能够从Web服务(不是GAE的一部分)获取数据.用户可以使用OpenId通过浏览器登录Web服务(仅允许使用Google帐户).
AccountManager可以给我authtoken.我可以将此authtoken与用户的谷歌帐户名(电子邮件)一起保存在我的服务器上,然后使用此帐户名将他的openid登录与应用程序注册相关联.
但这并没有解决任何问题,因为我无法根据用户的OpenID信息验证此令牌......或者我呢?我以为我可以使用用户的authtoken"以某种方式"将他的Android帐户链接到网络帐户.
这看起来越来越像是一种错误的处理方式,但我不想在SharedPreferences中保存用户Google的用户名/密码,并使用这些数据进行登录.
有创意吗?谢谢
对于我需要开发的应用程序,我需要能够使用SyncAdapter同步gmail和facebook数据.我希望与本地的facebook和gmail应用程序(如果可用)同步,而不是远程服务器.与本地应用程序同步意味着更少的电池使用,更少的网络使用,更快的同步等.当然,如果需要,我将设置正确的权限.
我的问题:
如果这些都不可用,我想我需要自己获取数据,这与这个问题无关.
我正在开发一个Android应用程序,它将具有类似api的服务器端.这个应用程序将具有用户登录机制.我想使用google/fb/twitter帐户作为登录信息,因为该应用程序的目的非常适合社交.
我已经阅读过使用手机中存储的Google帐户作为用户验证(如何使用Google帐户登录).问题是我不知道该怎么办?据我所知,客户经理最终会给我一个代币.那我该怎么办呢?如何通知服务器端用户登录?如何存储此令牌,因为我知道这个令牌可能会在一段时间后失效时更改...
另一件事.用户第一次进入G账户时该怎么办?我想获得他的G头像和显示名称,例如并将它们存储在服务器上,从而为用户节省了大量的点击次数?我是通过电话以某种方式发送它们还是以某种方式从服务器上获取它们?
FB之后也可能出现同样的问题.
希望我确实正确地提出了我的问题,因为这是一个更普遍的问题......
TIA.
我正在尝试检索 google 帐户的密码,但在 String pwd = AccountManager.get(mContext).getPassword(account) 处出现安全异常。另外,我已在 androidManifest.xml 中向 account_manager、authenticator、get_account、管理帐户授予权限。
android.accounts.Account[] gaccounts = AccountManager.get(mContext).getAccounts();
Log.i("parul", "2222()len :"+ gaccounts.length);
for (android.accounts.Account account: gaccounts) {
String pwd = AccountManager.get(mContext).getPassword(account);
Log.i("parul", "google pwd: " + pwd);
AccountManager.get(mContext).setPassword(account, null);
String pwdcleared = AccountManager.get(mContext).getPassword(account);
Log.i("parul", "google pwdcleared: " + pwdcleared);
}
Run Code Online (Sandbox Code Playgroud)
=================================================== ===========================
08-04 06:38:30.821: WARN/AccountManagerService(2248): 调用者 uid 1000 与身份验证器的 uid 不同
08-04 06:38:30.821: INFO/parul(2804): 为客户经理 try 块抛出异常
08-04 06:38:30.821:WARN / System.err(2804):java.lang.SecurityException:调用者uid 1000与身份验证器的uid不同
08-04 06:38:30.821:警告/System.err(2804):在android.os.Parcel.readException(Parcel.java:1218)
08-04 06:38:30.821:警告/System.err(2804):在android.os.Parcel.readException(Parcel.java:1206)
08-04 06:38:30.821: WARN/System.err(2804): 在 …
我想从AccountManager获取一个Google Authtoken,我可以将其发送到我的Web服务(不在App Engine上托管)来验证用户(如果不需要许可,我只需要电子邮件地址,最终需要他的名字).
我必须使用"getAuthToken"方法的"authTokenType"参数吗?
哪个谷歌Api我必须用来获取用户电子邮件?
android ×5
account ×1
auth-token ×1
facebook ×1
getpasswd ×1
gmail ×1
google-api ×1
login ×1
openid ×1
webserver ×1