我遇到了将图片网址作为Google Plus回复的问题。
提到的正是我需要的..
{
"id": "ID",
"name": "NAME",
"given_name": "GiVEN NAME",
"family_name": "FAMILY_NAME",
"link": "https://plus.google.com/ID",
"picture": "https://PHOTO.jpg",
"gender": "GENDER",
"locale": "LOCALE"
}
直到我使用下面提到的才能获得相同的时间。请看看..
在onConnected();
中使用下述内容try {
URL url = new URL("https://www.googleapis.com/oauth2/v1/userinfo");
//get Access Token with Scopes.PLUS_PROFILE
String sAccessToken;
sAccessToken = GoogleAuthUtil.getToken(MainActivity.this,
mPlusClient.getAccountName() + "",
"oauth2:" + Scopes.PLUS_PROFILE
+ " https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Authorization", "Bearer "
+ sAccessToken);
BufferedReader r = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), "UTF-8"));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line);
}
line = total.toString();
System.out.println("::::::::::::::::::::::::" + line);
} catch (UserRecoverableAuthException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Intent recover = e.getIntent();
startActivityForResult(recover, REQUEST_AUTHORIZATION);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (GoogleAuthException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上述输出::
{ "id": "106193796000956371669", "email": "vivek@xyz.com", "verified_email": true, "name": "Vivek Singh", "given_name": "Vivek", "family_name": "Singh", "link": "https://plus.google.com/10619379600095669", "gender": "male", "locale": "en", "hd": "xyz.com"}
请告诉我缺少的东西。 任何建议都可能对我有所帮助。
谢谢!
答案 0 :(得分:4)
如果您知道可以从代码中获取的用户ID,则可以直接查询个人资料图片。
只需拨打电话
即可https://plus.google.com/s2/photos/profile/" + user.getGooglePlusId() + "?sz=100
其中 getGooglePlusId()
是用户定义的函数,它返回用户的ID和
sz
指定返回图片的大小。
修改强>
现在已经过时了(2015年12月)
你应该用
https://www.googleapis.com/plus/v1/people/{GOOGLE_USER_ID}?key={YOUR_API_KEY}
其中:
GOOGLE_USER_ID - Google Plus中用户的ID
YOUR_API_KEY - Android API密钥(您可以阅读如何获取它here)
此请求的响应将返回JSON,其中包含"图像"领域。这实际上是用户个人资料图片。您可以尝试使用此here进行试验。
顺便说一下,这个API每天有 10000 次访问的限制。在您的google api控制台中,您可以向Google询问更多配额,但我不知道它是如何运作的。
答案 1 :(得分:-1)
您需要在布局中定义ImageView。
说出来.. user_picture
现在您可以直接将该图像设置为.. @ For Facebook / Google Plus
if(usertype.equalsIgnoreCase("facebook")){
try{
URL img_value = null;
img_value = new URL("http://graph.facebook.com/"+ userProfileID +"/picture?type=square");
Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
user_picture.setImageBitmap(mIcon1);
}catch(Exception e){
e.printStackTrace();
}
}else{
try{
URL img_value = null;
img_value = new URL("https://plus.google.com/s2/photos/profile/"+ google_Plus_User_Id +"?sz=50");
Bitmap mIcon1 = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());
user_picture.setImageBitmap(mIcon1);
}catch(Exception e){
e.printStackTrace();
}
}
希望它对某人有所帮助..干杯!
答案 2 :(得分:-1)
$forJson = file_get_contents('http://picasaweb.google.com/data/entry/api/user/'.$userInfo['id'].'?alt=json', true);
$withowtBacs = str_replace('$','',$forJson);
$toArr = (array)json_decode($withowtBacs);
$andNext = (array)$toArr[entry];
$imgPath = (array)$andNext[gphotothumbnail];
$this->session->set_userdata('imgPath', $imgPath[t]);