向GMail用户联系人列表发送通知

时间:2014-09-12 11:26:47

标签: javascript google-api

我想向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?

3 个答案:

答案 0 :(得分:0)

您需要在范围中加入此内容:https://www.googleapis.com/auth/plus.profile.emails.read

电子邮件地址将在回调中的响应中。

有关详细信息,请参阅here

答案 1 :(得分:0)

这是How to parse JSON in Java

的重复问题
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/