标签: gmail-api

Gmail API解码Javascript中的邮件

我在解码使用Gmail API收到的电子邮件的邮件正文时遇到严重问题.我想抓取消息内容并将内容放在div中.我正在使用base64解码器,我知道它不会解码编码不同的电子邮件,但我不知道如何检查电子邮件以决定使用哪个解码器 - 说明它们是utf-8编码的电子邮件已成功解码base64解码器,但不是utf-8解码器.

我已经研究了几天的电子邮件解码,而且我已经了解到我在这里的联盟有点不合适.我之前没有做过很多关于电子邮件编码的工作.这是我用于获取电子邮件的代码:

gapi.client.load('gmail', 'v1', function() {
var request = gapi.client.gmail.users.messages.list({
  labelIds: ['INBOX']
});
request.execute(function(resp) {
  document.getElementById('email-announcement').innerHTML = '<i>Hello! I am reading your <b>inbox</b> emails.</i><br><br>------<br>';
  var content = document.getElementById("message-list");
  if (resp.messages == null) {
    content.innerHTML = "<b>Your inbox is empty.</b>";
  } else {
    var encodings = 0;
    content.innerHTML = "";
    angular.forEach(resp.messages, function(message) {
      var email = gapi.client.gmail.users.messages.get({
      'id': message.id
      });
      email.execute(function(stuff) {
        if (stuff.payload == null) {
          console.log("Payload null: " + message.id);
        }
        var header = "";
        var …
Run Code Online (Sandbox Code Playgroud)

javascript email decoding character-encoding gmail-api

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

查找使用gmail api检索的环聊和聊天消息的时间戳

在摆弄Gmail API时,我注意到如果我不使用任何过滤器,则Users.messages:list方法还会返回通过Google环聊或Gmail聊天发送和接收的邮件.哪个非常好.

环聊消息的json对象的结构类似于电子邮件(带有负载,标题等),但提供的唯一标头是发件人.没有关于消息发送时间的信息.我查看了所有其他Gmail API方法(线程,历史记录...),但没有提供聊天消息的日期时间信息.

知道是否/如何查找聊天/环聊消息的时间戳(来自后端进程)?

gmail-api

8
推荐指数
1
解决办法
3712
查看次数

GMAIL API:按标签名称获取标签ID

如何通过标签名称获取标签ID?

我可以通过获取标签列表并解析响应来获取标签ID.但是,当我只对特定标签感兴趣时,这看起来效率很低.

是否可以直接获取标签ID传递标签名称?

gmail-api

8
推荐指数
1
解决办法
821
查看次数

在c#中使用gmail API修改消息标签时,权限[403]不足

我正在尝试使用gmail api阅读gmail邮件,并在阅读邮件后,我正在删除邮件标签,以便我不需要再次处理它.我能够成功读取邮件,但是当我尝试修改邮件时Label
(service.Users.Messages.Modify(mods, userId, messageId).Execute();)

然后我收到错误信息:

发生错误:Google.Apis.Requests.RequestError
权限不足[403]
错误[
消息[权限不足]位置[ - ]原因[insufficientPermis
sions]域[global]>
].

我无法弄明白,可能出了什么问题?提前致谢.

c# gmail-api

8
推荐指数
1
解决办法
3568
查看次数

使用 IMAP 读取 gmail 失败

我正在运行一个 cron 作业,它执行 python 脚本以读取 gmail(2 分钟间隔)。我使用 imaplib 来阅读新邮件。直到昨天,这一切都很好。突然它抛出低于错误

imaplib.error: [AUTHENTICATIONFAILED] 凭据无效(失败)

有时我收到以下错误

raise self.abort(bye[-1]) imaplib.abort: [UNAVAILABLE] 临时系统错误

当我在不同的机器上运行相同的脚本时。它的工作正常。我假设主机已被列入黑名单或类似的东西。

我有哪些选择?

我无法生成凭据(Gmail API),因为这是在公司域帐户下。

python authentication imaplib gmail-api

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

使用 Gmail API 发送邮件时设置发件人姓名和姓氏

通过 gmail API 发送邮件时如何设置发件人姓名和姓氏?

我使用这个代码:https : //github.com/chris-brown-nz/python-gmail-api

代码很棒,我成功发送了邮件。但是,发件人的姓名只是@sign留下的文本。示例:如果John Travisjohnhomeboy@gmail.com接收方显示的姓名发送电子邮件,则将是johnhomeboy,而不是John Travis。我需要设置什么属性才能发送带有我的名字和姓氏的电子邮件?

python email gmail gmail-api

8
推荐指数
1
解决办法
1453
查看次数

使用gmail API在Powershell中使用Invoke-WebRequest发送电子邮件

$firstEmail = "joe@gmail.com";
$secondEmail = "notjoe@gmail.com";

Function Set-MIMEBase64Encoded
{
Param(
[string]$subject
)

#Creates a MIME formatted email.
$text = "From: $firstEmail\r\n" + "To: $secondEmail\r\n" + "Subject: $subject\r\n\r\n" + "$subject";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
#Converts to Base 64.
$encodedText =[Convert]::ToBase64String($bytes);

#Makes encoding URL safe.
$urlSafe1 = $encodedText.replace('+', '-');
$urlSafe2 = $urlSafe1.replace('/', '_');
$urlSafe3 = $urlSafe2.replace('=', '*');

return $urlSafe3;
}  

Function Mail-Output
{
Param(
[String]$subject
)

#Acquires access token.
$accessToken = Refresh-AccessToken;  
#Sends subject for MIMEB64 encoding
$text = Set-MIMEBase64Encoded -subject $subject;

#Requests …
Run Code Online (Sandbox Code Playgroud)

powershell gmail mime google-api gmail-api

8
推荐指数
1
解决办法
1257
查看次数

如何使用 Gmail API (python) 检索整个邮件正文

我想使用 gmail api 提取整个邮件正文。现在我正在使用“片段”,但我需要整个文本。我搜索并发现它与有效载荷有关,但我不明白如何。有人可以给我举个例子吗?另外,我通过 python 使用 Gmail api。

python-3.x gmail-api

8
推荐指数
1
解决办法
6931
查看次数

在 API 中查找 Gmail Snooze 日期

是否可以通过 API 访问 Gmail 贪睡的日期?我在 stackoverflow 中遇到了一个黑客,它允许用户通过秘密标签搜索“label:snoozed”来搜索哪些电子邮件被暂停,但标签通常没有关联的日期,尤其是将来会返回收件箱的日期。

我正在尝试创建一个网络例程,将待办事项列表与电子邮件同步,并希望截止日期自动更新,何时重新出现被暂停的电子邮件。

谷歌提供的任何 API 或开发人员资源都可以做到这一点吗?

google-apps-script gmail-api

8
推荐指数
1
解决办法
650
查看次数

类型错误:无法读取未定义的属性“redirect_uris”

我想编写一个应用程序来处理我的一些以某种方式标记的 Gmail 电子邮件。

这里的示例代码为我的代码提供了一个起点(我使用 Promise 而不是 async wait 重写了代码):

'use strict';

const path = require('path');
const { google } = require('googleapis');
const { authenticate } = require('@google-cloud/local-auth');

authenticate({
    keyfilePath: path.join(__dirname, 'key.json'),
    scopes: [
        'https://www.googleapis.com/auth/gmail.readonly',
    ],
}).then(auth => {
    google.options({ auth })

    gmail.users.messages.list({
        userId: "me",
    }).then((res) => {
        console.log(res.data)
    }).catch(err => {
        console.log(err)
    })
}).catch(err => {
    console.log(err);
})
Run Code Online (Sandbox Code Playgroud)

以下是我到目前为止所采取的步骤:

  • 创建了一个谷歌云项目
  • 创建具有所有者角色的服务帐户
  • 从服务帐户下载密钥文件并将其复制到我的代码目录中,如下所示key.json
  • 运行代码:
GOOGLE_APPLICATION_CREDENTIALS="$(pwd)/key.json" node index.js
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

TypeError: Cannot read property 'redirect_uris' of undefined
    at authenticate (/home/user/dev/gmail-processor/node_modules/@google-cloud/local-auth/build/src/index.js:46:15)
    at …
Run Code Online (Sandbox Code Playgroud)

javascript node.js google-cloud-platform gmail-api google-auth-library-nodejs

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