
我使用Google IDentity Toolkit登录,我注意到GitkitUser.UserProfile类检索了照片网址,但是太小了.谷歌文档没有说明照片大小.
https://developers.google.com/identity/toolkit/android/reference/com/google/identitytoolkit/GitkitUser.UserProfile.html#getPhotoUrl()
例如,使用Facebook登录,getPhotoUrl()方法返回:
https://scontent.xx.fbcdn.net/hprofile-xap1/v/t1.0-1/p50x50/12651146_10208004779813340_3124516205553866664_n.jpg?oh=efa817d10aaf9d184a767bae81a71071&oe=576850AD
例如,使用Gmail登录时,getPhotoUrl()方法会返回:
https://lh6.googleusercontent.com/-5XFRyKHh7Os/AAAAAAAAAAI/AAAAAAAABIo/Trf7GjTnFec/s96-c/photo.jpg
在Gmail照片网址中删除/ s96-c(或替换为/ s200-c)看起来很大,但我需要对Facebook照片进行解决方法.
解决方法:
androID的解决方案是获取federatedID并在该调用之后:
http://graph.facebook.com/ {federatedID} /照片?类型=大
protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.welcome); clIEnt = GitkitClIEnt.newBuilder(this, new GitkitClIEnt.SignInCallbacks() { @OverrIDe public voID onSignIn(IDToken IDToken, GitkitUser user) { DataStorage.getInstance().setLastToken(IDToken.getTokenString()); Configuration config = Configuration.fromMetaData(AppInfo.getAppInfo(LoginActivity.this).MetaData); apiclient apiclient = new apiclient(config.getAPIKey(), AppInfo.getAppInfo(LoginActivity.this), config.getServerWidgetUrl()); final GetAccountInfo.Request request = apiclient.newGetAccountInfoRequest(IDToken); new AsyncTask<VoID, VoID, VoID>() { @OverrIDe protected VoID doInBackground(VoID... params) { GetAccountInfo.Response accountInfo = request.execute(); JsONArray users = accountInfo.getJsonResponse().optJsONArray("users"); JsONObject user = users == null ? null : users.optJsONObject(0); String email = user == null ? null : user.optString("email"); if (email != null) { JsONArray provIDerUserInfo = user.optJsONArray("provIDerUserInfo"); if (provIDerUserInfo != null && provIDerUserInfo.length() != 0) { for (int i = 0; i < provIDerUserInfo.length(); ++i) { JsONObject userInfo = provIDerUserInfo.optJsONObject(i); if (userInfo != null) { try { String userInfoString = userInfo.getString("federatedID"); if(userInfoString.contains("facebook.com")) { int lastSlash = userInfoString.lastIndexOf("/"); if(lastSlash != -1) { String federatedIDFacebook = userInfoString.substring(lastSlash + 1, userInfoString.length()); Log.i("federatedIDFacebook", federatedIDFacebook); } break; } } catch (JsONException e) { Log.e("LoginActivity", e.getMessage()); } } } } } return null; } }.execute(); } @OverrIDe public voID onSignInFailed() { Toast.makeText(LoginActivity.this, "Sign in Failed", Toast.LENGTH_LONG).show(); } }).build(); } 总结 以上是内存溢出为你收集整理的android – getPhotoUrl()方法中的照片大小Google Identity toolkit全部内容,希望文章能够帮你解决android – getPhotoUrl()方法中的照片大小Google Identity toolkit所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)