标签: gmail-api

Gmail API messages.insert与messages.import

在Gmail REST API中,有两种方法可以做同样的事情:

messages.insert和messages.import

这两种方法有什么区别,在什么情况下我应该使用另一种方法?

gmail-api

2
推荐指数
1
解决办法
833
查看次数

检索最近5条未读消息

我正在尝试使用带有javascript的GMAIL API来检索用户收件箱中的未读邮件.最多5个.

我试图$.get在用户使用G + api登录后使用jQuery ,但我在控制台中收到404错误.

这是我正在运行的:$.get('https://www.googleapis.com/gmail/v1/users/me/', function(data){ console.log(data); });我没有尝试将消息限制为未读或最多5个,因为现在,我目前甚至无法检索任何消息.

如何在用户的收件箱中获取最多5条未读邮件,甚至在当前登录用户的收件箱中获取邮件?

我想弄清楚如何从API获取JSON.我可以自己解析它,但是要求发送什么(如何获取用户的id和线程ID)然后获取JSON. 请帮我弄清楚如何在浏览器或控制台中查看JSON,从那里我很好.

javascript jquery gmail gmail-api

2
推荐指数
1
解决办法
1393
查看次数

如何从Gmail的主要收件箱中获取未读邮件?

我正在使用我的应用程序的Javascript客户端API,我试图从主要收件箱中获取未读邮件.

如果我在请求标签时使用INBOX和UNREAD名称,我会从所有标签中获取所有未读邮件.

没有其他标签类型名称可行,我已经在API资源管理器中进行了实验,我似乎无法弄清楚如何管理它.

我错过了什么或不可能吗?

api gmail google-api gmail-api google-inbox

2
推荐指数
1
解决办法
4015
查看次数

如何使用Gmail REST API创建子标签

我正在使用Gmail REST API创建标签(使用我自己的代码,而不是库).我有一个顶级标签工作正常,但现在我想为顶部标签创建一个子标签.我注意到当我使用Gmail创建子标签时,然后查看我通过REST API收到的列表,使用'/'字符作为分隔符显示子标签,例如"Top Label/Sub Label".但是,当我尝试创建这样的标签时,我只是得到一个标签,其名称中包含斜杠,而不是实际的子标签.我怎样才能做到这一点?

gmail-api

2
推荐指数
1
解决办法
913
查看次数

无法使用Gmail API中的高级搜索搜索特定的彩色星标(超级明星).

这就是我们使用的. https://developers.google.com/gmail/api/v1/reference/users/messages/list

为了获得一个红星的电子邮件,这就是我们要求的.

获取https://www.googleapis.com/gmail/v1/users/me/messages?q=has%3Ared-star&key= {YOUR_API_KEY}

结果是0.其他标准如:starred,has:附件按预期工作,我们做错了吗?

gmail gmail-api

2
推荐指数
1
解决办法
419
查看次数

gmail api在查询参数之外返回电子邮件

为Gmail构建Chrome扩展程序,尝试仅检索发送给我的电子邮件.我使用本页底部的gapi线程API资源管理器进行测试.它会按预期返回仅限收件箱的项目,如下图所示.我将
https://www.googleapis.com/gmail/v1/users/me/threads?=to%3Adan%40pledgmail.com+in%3Ainbox&access_token= + thisToken
上面的API Explorer中的请求URL复制并粘贴到我下面的background.js代码中,但除了我收到的那些之外,我还收到了我发送的电子邮件.

注意:我确实将请求URL中的"密钥"从API资源管理器更改为"access_token",否则我无法生成任何请求.

(如果我的代码没有放弃,我是新手.真诚地感谢任何帮助,我很感激你的时间.)


Google API Explorer结果(预期)
这个图片

我的代码来自background.js,带有复制的请求URL

  chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
    if (changeInfo.status == 'complete') {
      chrome.identity.getAuthToken({ 'interactive': true }, function(token) {
        thisToken = token
        chrome.runtime.onMessage.addListener(
          function(request,sender,sendResponse){

            var gapiRequestAllThreadsToSelf = "https://www.googleapis.com/gmail/v1/users/me/threads?=to%3Adan%40pledgmail.com+in%3Ainbox&access_token=" + thisToken
            var getAllThreadsToSelf = function (gapiRequestURL)
              {
                  var xmlHttp = new XMLHttpRequest();
                  xmlHttp.open( "GET", gapiRequestURL, false );
                  xmlHttp.send( null );
                  return xmlHttp.responseText;
              }

            var threadsToSelf = getAllThreadsToSelf(gapiRequestAllThreadsToSelf)

            chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
              chrome.tabs.sendMessage(tabs[0].id, {data: threadsToSelf}, function(response) { …
Run Code Online (Sandbox Code Playgroud)

gmail google-chrome google-chrome-extension gmail-api gapi

2
推荐指数
1
解决办法
309
查看次数

调用Gmail API时如何使用fields参数

我在Google Apps脚本中使用Gmail API(基本上是Javascript),我需要尽可能少地调用API,以提高效率和速度.

我正在使用Users.messages:list列出用户邮箱中的消息,响应中包含一个名为的数组messages,对于每条消息,它包含一个id和一个threadId,如下所示:

 "messages": [
  {
   "id": "152b93b1111c33e2",
   "threadId": "152b922266c33e2"
  },
  {
   "id": "152b93338c98cb3",
   "threadId": "152b922266c33e2"
  } ...
Run Code Online (Sandbox Code Playgroud)

但我需要响应以包含有关每条消息的更多信息,这样我就不必单独创建Users.messages:获取每条消息的调用.

Users.messages:list页面上的API Explorer 表示您可以使用fields参数" 指定要包含在部分响应中的字段 ".

当我单击" 使用字段编辑器 "选择我需要的三个项目时,它会将以下内容填入该字段:

messages(id,internalDate,payload)
Run Code Online (Sandbox Code Playgroud)

然后当我执行命令时,它显示GET命令应该如下所示:

https://www.googleapis.com/gmail/v1/users/test@test.com/messages?fields=messages(id%2CinternalDate%2Cpayload)&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

但是,messages结果中的数组不包括internalDatepayload字段.它只包含消息id,如下所示:

 "messages": [
  {
   "id": "152b93b1111c33e2"
  },
  {
   "id": "152b93338c98cb3"
  } ...
Run Code Online (Sandbox Code Playgroud)

它也不包括threadId了,但它继续包含threadId如果我选择它作为其中一个字段,如下所示:

messages(id,threadId)
Run Code Online (Sandbox Code Playgroud)

并且URL看起来像这样......

https://www.googleapis.com/gmail/v1/users/test@test.com/messages?fields=messages(id%2CthreadId)&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

结果看起来与上面的第一个结果完全一样,我们没有使用fields参数.

所以我知道的fields参数真的在做事情.

考虑到这可能只是API Explorer的限制,我尝试在Google Apps脚本中进行API调用,但它仍然不包括我需要的字段.

api google-api gmail-api

2
推荐指数
1
解决办法
1185
查看次数

iOS:GMail API - 通过电子邮件发送附件

我能够成功发送没有附件的电子邮件.但是,当我尝试使用GTLUploadParamaters上传附件时,我收到501错误.

我尝试从照片库添加附件的NSData,以及只发送图像的URL.

在这两种情况下我都得到了同样的错误.

// Create the message
GTLGmailMessage *message = [[GTLGmailMessage alloc]init];
message.raw = [self getFormattedRawMessageForMail:mail];

if(!self.gmailService) {
    self.gmailService = [Utilities initializeGmailService];
}
// Get the data of the image present in the photo library
GTLUploadParameters *image = [GTLUploadParameters uploadParametersWithData:[Singleton sharedInstance].dataImage MIMEType:@"image/jpeg"];

GTLQueryGmail *query = [GTLQueryGmail queryForUsersMessagesSendWithUploadParameters:image];
query.userId = [ORBSingleton sharedInstance].userProfile.email;
query.message = message;

[self.gmailService executeQuery:query completionHandler:^(GTLServiceTicket *ticket, GTLGmailMessage *mail, NSError *error) {
    if(!error){
        handler(YES, error);
    }
    else{
        handler(NO, error);
    }
}];
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?任何帮助将不胜感激.

iphone objective-c ios gmail-api

2
推荐指数
1
解决办法
792
查看次数

Gmail推送通知不会停止

我正在使用"WATCH"requset将我的电子邮件连接到pub/sub API.但是当我要使用下面的代码(由谷歌提供)停止通知时,它不起作用.我正在使用python客户端.

credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = discovery.build('gmail', 'v1', http=http)
result = service.users().stop(userId='me')
Run Code Online (Sandbox Code Playgroud)

我的推荐:

https://developers.google.com/gmail/api/guides/push

python gmail-api google-cloud-pubsub

2
推荐指数
1
解决办法
476
查看次数

403使用Python在Google API中创建草稿时"请求的身份验证范围不足"

我是第一次使用谷歌api,并且是一般的编码新手,并且有一个问题,我肯定很简单,但我找不到答案.当我运行以下代码 -

credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = discovery.build('gmail', 'v1', http=http)

results = service.users().labels().list(userId='me').execute()
labels = results.get('labels', [])

if not labels:
    print('No labels found.')
else:
    print('Labels:')
    for label in labels:
        print(label['name'])


message_body = "This is the message"

message = {'message': message_body}

draft = service.users().drafts().create(userId='me', body=message).execute()
Run Code Online (Sandbox Code Playgroud)

我已成功列出我的Gmail帐户中的标签,但创建草稿的请求会返回错误消息"请求的身份验证请求不足".我发现创建草稿需要以下范围之一:

但对于我的生活,我无法弄清楚究竟是什么意思或如何实现这一目标,尽管我已尽力在某处找到它.

python-2.7 gmail-api

2
推荐指数
2
解决办法
3693
查看次数