标签: gmail-api

使用Google Apps脚本 - GMail在已发送文件夹中获取未读数量

有没有办法在已发送文件夹中获取未读邮件?

基本上,我想要的功能是:当我回复邮件列表中已过滤但未通过我的INBOX的邮件时,我希望所有后续回复都能到达我的INBOX.

我试图完成的方式是,如果我在Sent文件夹中看到一个未读邮件,这意味着我参与的一个帖子中有一个新邮件.我这样说是因为当我点击Gmail网页界面中的"已发送"时,我发现这些邮件未读.

那么,有没有办法获得系统标签的未读数量?

肮脏的方式:我可以做到这一点的一种方法是创建一个过滤器,选择所有包含"from:"的邮件作为我的地址并使用它来获得我想要的东西.但是,这样我就创造了一个我感觉不舒服的副本!

javascript gmail google-apps-script gmail-api

3
推荐指数
1
解决办法
523
查看次数

如何使用Gmail API获取INBOX中未读线程的数量?

我试着使用list thread方法:

GET https://www.googleapis.com/gmail/v1/users/{MyEmailAddress}/threads?labelIds=INBOX&labelIds=UNREAD&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

resultSizeEstimate与Gmail网络应用中我的收件箱旁边的数字不匹配.

还有另外一种方法吗?

gmail-api

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

run_flow()的哪个标志将模拟现在已弃用的run()

我正在尝试验证我的凭据以访问GMail API.以前我使用run()OAuth2中的方法和代码执行credentials = tools.run(flow, STORAGE, http=http)此操作,但现在这是一个不推荐使用的方法.我现在正在使用该run_flow()方法来验证我的凭据.

import httplib2
import argparse
from apiclient import errors
from apiclient.discovery import build
from oauth2client import tools
from oauth2client.file import Storage
from oauth2client.client import flow_from_clientsecrets

CLIENT_SECRET_FILE = 'your_client_secret.json'
OAUTH_SCOPE = 'https://www.googleapis.com/auth/gmail.modify'
STORAGE = Storage('gmail.storage')
flow = flow_from_clientsecrets(CLIENT_SECRET_FILE, scope=OAUTH_SCOPE)
http = httplib2.Http()
credentials = STORAGE.get()there are credentials, no reauth is needed
#parser = argparse.ArgumentParser(parents=[tools.argparser])
#flags = parser.parse_args()    #Put your arguments in the parenthesis
if credentials is None or credentials.access_token_expired:
    credentials …
Run Code Online (Sandbox Code Playgroud)

oauth-2.0 oauth2client google-oauth google-api-python-client gmail-api

3
推荐指数
1
解决办法
2263
查看次数

gmail api给出了failedPrecondition错误

我无法让gmail api工作.我正在使用JWT进行服务器到服务器身份验证.

google-api-python-client==1.4.0
httplib2==0.9
oauth2client==1.4.7
pycrypto==2.6.1
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样.

with open(CLIENT_SECRET_FILE) as f:
    data = json.loads(f.read())
    private_key = data['private_key']
    client_email = data['client_email']
    credentials = SignedJwtAssertionCredentials(client_email,   private_key, scope=OAUTH_SCOPE)

http = credentials.authorize(http)
gmail_service = build('gmail', 'v1', http=http)
try:
    threads =    gmail_service.users().messages().list(userId='me').execute()
except Exception as e:
    print e
    print e.content
Run Code Online (Sandbox Code Playgroud)

回应是

<HttpError 400 when requesting https://www.googleapis.com/gmail/v1/users/me/messages?alt=json returned "Bad Request">
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "failedPrecondition",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

python oauth2client gmail-api

3
推荐指数
1
解决办法
2348
查看次数

如何在Gmail邮件到达时进行编辑?

最终,我的目标是通过具有唯一链接的自动加载图像来阻止电子邮件跟踪.我知道谷歌使用代理加载图片,所以至少他们不会透露我的IP地址,但有些个人和组织烦人地将跟踪器嵌入他们的电子邮件中 ​​- 他们会主动检查我是否阅读他们的电子邮件.

特别是在Gmail应用中,我可以关闭图片的自动加载功能,但我希望对没有此设置的其他应用提供类似的保护.例如,显然无法通过Google收件箱执行此操作.

我目前的想法是编写一个可以在新邮件上运行的后端脚本(从事件或频繁轮询中接收)将嵌入的HTML图像转换为指向这些图像的超链接链接 - 仅在我真正需要图像时使用.这样,无论我用什么应用程序打开电子邮件,我都可以控制如何/何时跟踪.编辑电子邮件是我用MS Exchange Server API完成的,我正在寻找一种方法来使用Gmail - 通过任何可用的方式.

我在2010年发现了一些关于如何使用Google Apps脚本Gmail本身修改主题行的线索.当时,您无法做到这一点,但从那时起它们似乎已经更新,或者有使用Gmail API或IMAP的解决方案.

TL;博士

对于我的Gmail帐户,如何以编程方式修改(并保存更改)收到的电子邮件?

可能的解决方案:

  • Google Apps脚本
  • Gmail API
  • IMAP
  • 其他?

imap google-apps-script gmail-api

3
推荐指数
1
解决办法
1282
查看次数

我怎样才能用php api阅读gmail主题?

在女巫模式下,可以用php api阅读电子邮件主题吗?

我做这个代码

// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Gmail($client);

// Print the labels in the user's account.
$user = 'me';


$results = $service->users_messages->listUsersMessages($user);
foreach($results as $mail){
  $optParamsGet['format'] = 'metadata'; // Display message in payload
  $message = $service->users_messages->get($user, $mail['id'],$optParamsGet);
  $objMessage = $message->getPayload();
  print_r($objMessage[18]['value']);
}
Run Code Online (Sandbox Code Playgroud)

我发现很难使用这个api与PHP,因为没有任何关于该功能的文档.在哪里可以找到完整的文档?(例如我找到了getPayload函数,因为我在这里看到一些例子)

谢谢

php gmail gmail-api

3
推荐指数
1
解决办法
5702
查看次数

尝试使用Java中的Gmail API发送电子邮件时出错

我想使用Gmail API(而不是JavaMail)发送电子邮件.我在论坛上阅读了很多类似的主题,但我还是有问题.

首先我读到这个:https://developers.google.com/gmail/api/guides/sending

我发现了一些方法:MimeMessage createEmail,Message createMessageWithEmail和Message sendMessage

然后我注意到我没有对象Gmail服务的定义,所以我需要一个GmailQuickstart类,它位于:https://developers.google.com/gmail/api/quickstart/java

我实现了:类GmailQuickstart,方法Credential authorize()和方法Gmail getGmailService()

最后我写了一篇主要内容:

public static void main(final String[] args) throws MessagingException, IOException {
    String APPLICATION_NAME = "gmailProject";
    HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
    JsonFactory JSON_FACTORY = new JacksonFactory();
    Credential credential = GmailQuickstart.authorize();

    String to = "frommail@gmail.com";
    String from = "tomail@gmail.com";
    String subject = "Subject";
    String bodyText = "Body";
    MimeMessage emailcontent = createEmail(to, from, subject, bodyText);
    createMessageWithEmail(emailcontent);
    Gmail service = new com.google.api.services.gmail.Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
            .setApplicationName(APPLICATION_NAME).build();
    sendMessage(service, "me", …
Run Code Online (Sandbox Code Playgroud)

java email gmail gmail-api

3
推荐指数
1
解决办法
1855
查看次数

GmailR-附件不允许显示正文

我设法成功发送带有附件的R的HTML电子邮件。但是,Gmail不显示文本。

email <-mime() %>%
to("recipient@example.com") %>%
from("sender@example.com") %>%
subject("This is a subject") %>%
html_body("<html><body>I wish <b>to</b> to see this in the body</body></html>")%>%
attach_file("file.csv")

send_message(email)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

屏幕快照显示附件,但不显示文本,如果我检查电子邮件内容,

本来我以为附件可能在视觉上覆盖了文本,但是在检查了收到的电子邮件的html之后,我得出结论不是这样。

Android上的gmail应用上发生同样的问题

谢谢

这是原始邮件(我已将csv加密文件分解为可管理的版本)原始消息

Message ID  <CAK4Nmip7J=zrxtqPCjnmnEOcA@mail.gmail.com>
Created on: 22 November 2016 at 12:43 (Delivered after 0 seconds)
From:   guillaume.lombard@company.com
To: guillaume.lombard@company.com
Subject:    Weekly Gifts report


Download original   Copy to clipboard   
Received: from 704816328917 named unknown by gmailapi.google.com with HTTPREST; Tue, 22 Nov 2016 07:43:10 -0500
MIME-Version: 1.0
Date: Tue, 22 Nov 2016 07:43:10 -0500 …
Run Code Online (Sandbox Code Playgroud)

email r gmail-api

3
推荐指数
1
解决办法
640
查看次数

如何为Gmail API正确base64编码MIMEText?

Gmail API的开发者指南中:

以下代码示例演示如何创建MIME消息,对base64url字符串进行编码,并将其分配给Message资源的raw字段:

def create_message(sender, to, subject, message_text):
  """Create a message for an email.

  Args:
    sender: Email address of the sender.
    to: Email address of the receiver.
    subject: The subject of the email message.
    message_text: The text of the email message.

  Returns:
    An object containing a base64url encoded email object.
  """
  message = MIMEText(message_text)
  message['to'] = to
  message['from'] = sender
  message['subject'] = subject
  return {'raw': base64.urlsafe_b64encode(message.as_string())}
Run Code Online (Sandbox Code Playgroud)

但是,如果我做了类似的事情

from email.MIMEText import MIMEText
import base64
message = MIMEText('This is a …
Run Code Online (Sandbox Code Playgroud)

python encoding python-3.x google-api-python-client gmail-api

3
推荐指数
1
解决办法
1910
查看次数

oauth2client.clientsecrets.InvalidClientSecretsError:客户端类型"web"中缺少属性"redirect_uris"

我正在尝试将Python从Python脚本发送给自己,并使用以下代码:

#!/usr/bin/env python

import base64
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import mimetypes
import os
import httplib2

from apiclient import discovery
import oauth2client
from oauth2client import client
from oauth2client import tools
from apiclient import errors

from config import MY_EMAIL, CLIENT_SECRET_FILE

SCOPES = 'https://www.googleapis.com/auth/gmail.compose'
APPLICATION_NAME = 'Gmail API Python Quickstart'

try:
    import argparse
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

def send_message(service, user_id, message):
  """Send an …
Run Code Online (Sandbox Code Playgroud)

python gmail google-api gmail-api

3
推荐指数
1
解决办法
3742
查看次数