标签: gmail-api

我已经验证了 google-api Oauth2,但在下一步中发送了一封电子邮件。第 2 层云应用程序安全评估 (CASA) 谷歌 API

我在 Laravel 项目中使用 Google Oauth2 和 Gmail API。Gmail API的使用是仅访问用户已收到的附件并下载附件。验证已经完成,但在最后一步,我收到了这封电子邮件,但我不知道该怎么做,任何帮助将不胜感激。

在此输入图像描述

oauth-2.0 google-oauth google-cloud-platform gmail-api

5
推荐指数
1
解决办法
1541
查看次数

批量提取消息性能

我需要在INBOX中获取最后100条消息(仅限标题).为此我正在使用IMAP扩展来搜索然后获取消息.这是通过两个请求(SEARCH然后UID FETCH)完成的.
什么是Gmail API相当于在一个请求中获取多条消息?
我所能找到的只是一个批处理API,这看起来更麻烦(组成一个messages:get包含在普通HTTP代码中的一长串请求).

gmail-api

4
推荐指数
3
解决办法
2784
查看次数

如何使用带有Ruby Google API客户端的Gmail API发送消息?

我面临着API的几个问题,

第一:

发送方法询问'id'(消息ID或线程ID)..但为什么?我正在发送新消息,所以它不应该要求.根据Gmail Api documnetation它的可选. https://developers.google.com/gmail/api/v1/reference/users/messages/send

ArgumentError: Missing required parameters: id.
Run Code Online (Sandbox Code Playgroud)

第二:

即使在指定消息ID后,它也会返回此消息.

 Your client has issued a malformed or illegal request.
Run Code Online (Sandbox Code Playgroud)

 require 'mime'
 include MIME



msg = Mail.new
msg.date = Time.now
msg.subject = 'This is important'
msg.headers.set('Priority', 'urgent')

msg.body = Text.new('hello, world!', 'plain', 'charset' => 'us-ascii')
msg.from = {'hi@gmail.com' => 'Boss Man'}
msg.to   = {
    'list@example.com' => nil,
    'john@example.com' => 'John Doe',
    'jane@example.com' => 'Jane Doe',
}

@email = @google_api_client.execute(
    api_method: @gmail.users.messages.send(:get),
    body_object: {
        raw: Base64.urlsafe_encode64(msg.to_s)
    },
    parameters: …
Run Code Online (Sandbox Code Playgroud)

ruby google-api gmail-api

4
推荐指数
1
解决办法
5016
查看次数

尝试将邮件标签设置为我创建的邮件标签时,Gmail API:"无效标签"

我通过典型的方法在Gmail的网络界面中创建了一个标签"handler_gmail".

当我尝试通过Gmail API(Python客户端库)为邮件设置该标签时,我收到响应HttpError 400,返回"无效标签:handler_gmail".

我确定标签存在(我已多次检查 - 没有拼写错误).

我试图这样设置它:

gs.users().messages().modify(userId=username, id=m['id'], body={"addLabelIds": ['handler_gmail']}).execute()

我尝试"removeLabelIds": []在字典中添加一个键/值对(想想可能是必需的),但是得到了相同的"无效标签"错误.

非常感谢任何帮助!如此接近能够做我需要的这个项目!

python gmail-api

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

如何批量发送包含多个网址的多部分html帖子?

我正在与gmail api交谈,并希望批量处理请求.他们有一个友好的指南,https://developers.google.com/gmail/api/guides/batch,这表明我应该能够使用multipart/mixed并包含不同的网址.

我正在使用Python和Requests库,但我不确定如何发布不同的URL.像这样的答案如何在python中发送带有请求的"multipart/form-data"?不要提及更改该部分的选项.

我该怎么做呢?

python multipartform-data python-requests gmail-api

4
推荐指数
1
解决办法
2596
查看次数

Gmail REST API获取邮件功能会返回无效的historyId

好像Gmail REST API中可能存在严重问题.

  1. 调用/ userId/messages以获取消息列表
  2. 对于每个,调用/ userId/messages/id来获取消息
  3. 获取每个消息对象上的最高(或任何)startHistoryId
  4. 然后调用/ userId/history/list传递startHistoryId作为参数

结果出人意料.Gmail REST API返回404 Not Found ..似乎返回的historyId未注册或有效.

在调用/ userId/profile时,startHistoryId有效,可以在/ userId/history/list调用中成功使用.

com.google.api.client.googleapis.json.GoogleJsonResponseException: 404 Not Found
{
"code" : 404,
"errors" : [ {
     "domain" : "global",
     "message" : "Not Found",
     "reason" : "notFound"
    } ],
  "message" : "Not Found"
}
Run Code Online (Sandbox Code Playgroud)

gmail-api

4
推荐指数
1
解决办法
1788
查看次数

Gmail API:获取在php中标有特定标签的邮件列表

情况

我正在为我的应用设置Gmail API.

我需要导入所有标有特定标签的电子邮件,例如TRASH,SPAM,SENT,UNREAD,STARRED等.

我可以获取收件箱电子邮件列表和单个邮件信息.我可以获得标签列表以及单个标签信息.但我没有找到如何将它们结合起来.

显然,在给定labelId的情况下,没有特定的请求来检索消息列表,并且在电子邮件列表中没有labelId的痕迹.

要求输出:

获取消息列表:

array(3) { [0]=> array(5) { ["messageId"]=> string(16) "14ddc24465a9b72e" ["messageSnippet"]=> string(14) "sample message" ["messageSubject"]=> string(4) "Test" ["messageDate"]=> string(22) "Jun 10th 2015 08:24 AM" ["messageSender"]=> string(44) "SENDER_NAME" } [1]=> array(5) { ["messageId"]=> string(16) "14dd8391372f3035" ["messageSnippet"]=> string(91) "buonasera Date: Tue, 9 Jun 2015 08:08:48 -0400 Message-Id: <CAGL50m_2vPv-Bkzbd+m5iFkx-u-" ["messageSubject"]=> string(4) "Test" ["messageDate"]=> string(22) "Jun 10th 2015 08:24 AM" ["messageSender"]=> string(44) "SENDER_NAME" } [2]=> array(5) { ["messageId"]=> string(16) "14dd7f4f126103c9" ["messageSnippet"]=> string(99) "Ciao meetinghand Suggerimenti per …
Run Code Online (Sandbox Code Playgroud)

php email gmail google-api-php-client gmail-api

4
推荐指数
1
解决办法
3269
查看次数

主题是在云pub/sub上创建的,但无法在该主题上创建监视

我想在云发布/子主题上创建监视但无法创建它.为此,我正在使用其余请求

request_Req.post({

url:'https://www.googleapis.com/gmail/v1/users/me/watch',
headers:{
   'content-type': 'application/json',
   'Authorization': 'Bearer '+ access_token,
},
scope : [
    'https://mail.google.com/'
],

'body': JSON.stringify({
    'topicName' : "/projects/ProjectId/topics/TopicId",
    'labelIds' : ["INBOX"] 
});
}),function(error, resp, body){

});
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误消息 Error sending test message to Cloud PubSub/projects/ProjectID/topics/TopicId : Resource not found resource=TopicId

cloud google-cloud-platform gmail-api google-cloud-pubsub

4
推荐指数
1
解决办法
3130
查看次数

带有nodeJS的GMail API - send给出400 Bad Request

我正在使用nodeJS的最新(0.9.8)google-api-nodejs-client库.我正在使用服务帐户和JWT作用域进行https:\\googleapis.com/auth/gmail.send身份验证(以及/ auth/drive FWIW).

我尝试发送电子邮件(base64urlencoded),如下所示:

req = mail.users.messages.send(
  {
    auth:   jwtClient,           // really works with google drive
    userId: actual@gmail.com     // actually a legit gmail address
    resource: {
      raw: message               // base64encode(urlencode(RFC822 msg))
    }
  }, (err, res) => { console.log(err); }
);
Run Code Online (Sandbox Code Playgroud)

并且回调接收到这个非常有用的对象:

{"code": 400,"errors":[{"domain":"global","reason":"failedPrecondition","message":"Bad Request"}]}
Run Code Online (Sandbox Code Playgroud)

我知道google-api-nodejs-client是alpha并且GMail API本身正在发展(消息对资源等).因此,一些在线信息 - 包括谷歌自己的文档 - 是可以理解的不一致.我正在寻找任何建议,因为错误似乎非常通用.

gmail-api

4
推荐指数
1
解决办法
825
查看次数

Gmail api范围和格式不匹配

我正在尝试为Android编写一个小小的gmail客户端作为培训.我从https://developers.google.com/gmail/api/quickstart/android中获取了gmail api指南示例,对其进行了一些修改,以获取带有标题和正文的消息.我将范围设置为GmailScopes.Gmail_modify并编辑了主要请求函数,如下所示:

private List<String> getDataFromApi() throws IOException {
            // Get the labels in the user's account.
            String user = "me";
            List<String> labels = new ArrayList<String>();
            ListLabelsResponse listResponse =
                    mService.users().labels().list(user).execute();
            ListThreadsResponse listThreads = null;
            try {
             listThreads = mService.users().threads().list(user).execute();
            } catch (IOException ioex){
                Log.e(LOG_TAG, "First: " + ioex.toString());
            }

            for (Thread thread : listThreads.getThreads()) {
                try {
                    thread = mService.users().threads().get(user, thread.getId()).setFormat("full").execute();
                } catch (IOException ioex){
                    Log.e(LOG_TAG, "Second: " + ioex.toString());
                }
                for(Message message : thread.getMessages()){
                    labels.add(message.getId());
                } …
Run Code Online (Sandbox Code Playgroud)

java android oauth-2.0 gmail-api

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