我想向GMail用户联系人列表发送通知。我正在使用此Google API代码来获取数据:
var request = gapi.client.plus.people.list({
'userId': 'me',
'collection': 'visible'
});
request.execute(function(resp) {
console.log('Num people visible:' + resp.totalItems);
console.log('JSON :: ' +JSON.stringify(resp) );
});
我收到了此表单中的所有信息,但用户的电子邮件除外:
{
"kind":"plus#person",
"etag":"\"L2Xbn8bDuSErT6QA3PEQiwYKQxM/Cq8-fpfOKA7mSHBXOGvh5cXBraw\"",
"objectType":"person",
"id":"109949183447768127130",
"displayName":"Abhishek Singh",
"url":"https://plus.google.com/+AbhishekSinghLKO",
"image":{"url":"https://lh5.googleusercontent.com/-usIXgWialjY/AAAAAAAAAAI/AAAAAAAAAZ4/9G29gXNfwu0/photo.jpg?sz=50"}
},
有没有办法找到与我从JSON获得的数据相对应的所有电子邮件ID?
答案 0 :(得分:0)
您需要在范围中加入此内容:https://www.googleapis.com/auth/plus.profile.emails.read
电子邮件地址将在回调中的响应中。
有关详细信息,请参阅here
答案 1 :(得分:0)
import org.json.*;
public class jsonLoader() {
public static JSONObject json(String jsonText) throws Exception {
JSONObject json = new JSONObject(jsonText);
return json;
}
}
Long ID = json.get("id");
在while循环中包装最后一行解决了这个问题。
修改强>
https://developers.google.com/+/api/latest/people/get仅在用户公开其电子邮件时显示,people.get
才会返回电子邮件。您提供的页面未显示公共电子邮件地址。
答案 2 :(得分:0)
你可能想看看这个链接,我认为这是你想要的。我认为方法可能是:
1)在java中执行任务,随时调用javascript并继续在java中执行任务
2)创建一个类/函数,通过java发送电子邮件通知,然后在你的javascript或方法1中调用该函数/对象
通过Java发送电子邮件模板: http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/