标签: gmail-api

从 Google API 获取未读电子邮件

我正在尝试使用 google API 获取未读电子邮件的数量,但无法。非常感谢任何帮助。我没有收到任何错误,但计数与 gmail 中显示的实际数字不匹配。

 try
        {
            String serviceAccountEmail = "xxx@developer.gserviceaccount.com";
            var certificate = new X509Certificate2(@"C:\Projects\xxx\xyz\API Project-xxxxx.p12", "notasecret", X509KeyStorageFlags.Exportable);

            ServiceAccountCredential credential = new ServiceAccountCredential(
            new ServiceAccountCredential.Initializer(serviceAccountEmail)
            {
                User = "xxx@gmail.com",

                Scopes = new[] { Google.Apis.Gmail.v1.GmailService.Scope.GmailReadonly }
            }.FromCertificate(certificate));


            var gmailservice = new Google.Apis.Gmail.v1.GmailService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "GoogleApi3",
            });

            try
            {                 

                List<Message> lst = ListMessages(gmailservice, "xxx@gmail.com", "IN:INBOX IS:UNREAD");
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
            }
        }
        catch (Exception ex)
        {

        }       
Run Code Online (Sandbox Code Playgroud)

gmail-api

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

在 GMail API 中获取附件

我正在尝试从 golang 邮件中获取附件。问题出在从 Gmail 读取的 base64 负载中,给我带来了错误

illegal base64 data at input byte 13
Run Code Online (Sandbox Code Playgroud)

这是我的代码(省略错误处理)..

attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()
decoded, err := base64.StdEncoding.DecodeString(attach.Data)
Run Code Online (Sandbox Code Playgroud)

这会引发上述错误,如果我查看 GMail 中的原始邮件,可以在标题后看到以下内容:

begin 644 filename-of-the-attachment.extension
M'XL(`/Y;GU8``^S]R[(>R9&E"\[[*5)JVI*6;N9WS(_TD3/J0<U:>H`*;F9"...
Run Code Online (Sandbox Code Playgroud)

任何帮助表示感谢

gmail go gmail-api

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

更改 Gmail 主题行

如果 Gmail 主题与过滤条件匹配,我正在尝试通过在它前面加上某个单词来更改 Gmail 主题。我知道无法使用 Google App Script 修改主题行。但是是否可以使用 GMAIL API 和 App Script 对其进行修改。另外,我是 G-Suite 的成员,所以是否有任何默认配置或内置方法可以实现相同的目标。

类似问题:如何在 Gmail 邮件到达时对其进行编辑?

javascript gmail-imap google-apps-script google-apis-explorer gmail-api

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

使用 gmail api 发送电子邮件时,等号丢失

我使用 gmail-api 从我的数据库向不同的联系人发送电子邮件。当我发送消息时,样式不起作用,因为发生这种情况,因为等号“=”丢失了。

例如,把这个放在消息中

<img src="mysite.com/image.jpg"/>
Run Code Online (Sandbox Code Playgroud)

但相反,我把这个放在了=

<img src"mysite.com/image.jpg"/>
Run Code Online (Sandbox Code Playgroud)

这是我为消息制作字符串的函数的一部分

    $strSubject = $data['subject'];
    //$strRawMessage = "From: myAddress<pblanco@mysite.com>\r\n"; 
    $strRawMessage = "From: <".$data['from'].">\r\n"; //email consultor
    //$strRawMessage .= "To: toAddress <pblanco@mysite.com>\r\n";
    $strRawMessage .= "To: <".$data['to'].">\r\n"; //email destinatario
    $strRawMessage .= 'Subject: =?utf-8?B?' . base64_encode($strSubject) . "?=\r\n"; //asunto
    $strRawMessage .= "MIME-Version: 1.0\r\n";
    $strRawMessage .= "Content-Type: text/html; charset=utf-8\r\n";
    $strRawMessage .= 'Content-Transfer-Encoding: quoted-printable' . "\r\n\r\n";
    $strRawMessage .= $data['message']."\r\n"; //mensaje
    // The message needs to be encoded in Base64URL
    $msg = $this->createMessage($strRawMessage);
Run Code Online (Sandbox Code Playgroud)

在这里我对消息进行编码

public function createMessage($string){
    //$mime = …
Run Code Online (Sandbox Code Playgroud)

php encoding google-api google-api-php-client gmail-api

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

在php中使用gmail api发送带附件的邮件

当我尝试使用 php.text 发送邮件时,也将其作为名称为 noname.html 的附件发送。请为我提供解决方案。我已经使用这个库发送电子邮件https://github.com/google/google-api-php-client。我的代码是这样的。任何帮助将不胜感激。

$client->setAccessToken($_SESSION['gmail_access_token']);            
    $objGMail = new Google_Service_Gmail($client);

   $strMailContent = 'This is a test mail which is <b>sent via</b> using Gmail API client library.<br/><br/><br/>Thanks,<br/><b>Premjith K.K..</b>';
   // $strMailTextVersion = strip_tags($strMailContent, '');

    $strRawMessage = "";
    $boundary = uniqid(rand(), true);
    $subjectCharset = $charset = 'utf-8';
    $strToMailName = 'NAME';
    $strToMail = 'name@gmail.com';
    $strSesFromName = 'Premjith GMAIL API';
    $strSesFromEmail = 'premji341800@gmail.com';
    $strSubject = 'Test mail using GMail API - with attachment - ' . date('M d, Y h:i:s A');

    $strRawMessage .= …
Run Code Online (Sandbox Code Playgroud)

php codeigniter gmail-api

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

Gmail API OAuth2 错误:redirect_uri_mismatch

我跟着这个 Gmail API Python 快速入门教程:https : //developers.google.com/gmail/api/quickstart/python

我按照说明在 API 控制台中配置了我的 OAuth 客户端 ID(请参阅下面的第一张图片)。但是,启动脚本会打开一个浏览器会话,导致下面的 400 错误。

重定向 URL 与 API 控制台中注册的内容相匹配。

但是,快速入门脚本会打开以下 URL:https : //accounts.google.com/o/oauth2 ... & redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F ...

手动将重定向 URI 更改为http://localhost:8080部分解决了我处理授权请求时的问题,但随后无法将响应返回到命令提示符。

如何强制快速入门程序生成将重定向 URI 保留为http://localhost:8080的 URL ?

谷歌 API 控制台

400错误

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

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

如何通过gmail api获取内容['payload']['body']['data']第一封邮件

我正在尝试通过 gmail api 获取邮件正文。

message = self.service.users().messages().get(userId=user, id=i,format='full').execute()
Run Code Online (Sandbox Code Playgroud)

当我输入最后一个电子邮件 ID 时。总是找不到内容 content['payload']['body']['data']

节目是这样的

"body": {
    "size": 0
}
Run Code Online (Sandbox Code Playgroud)

当然它有消息体。

我可以通过content['snippet'],但我无法获得消息正文。

如果您对此有任何想法,请帮助我。

python python-3.x gmail-api

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

Gmail API 发送限制和费用

使用 Gmail API 的发送限制是什么?

这篇文章说 mail.send 每天需要 1,000,000,000 qu 的 100 Quota Units:https : //developers.google.com/gmail/api/v1/reference/quota

在其他地方,个人用户每天只能发送 500 封域外电子邮件。我用 API 发送的测试电子邮件似乎来自授权应用程序的帐户。:https : //support.google.com/a/answer/166852?hl=en

对于凭据使用单个 G Suite 用户帐户的 Gmail API 来说,这是否会影响该帐户可以正常发送的 500 条外部/2000 条内部消息?

用例是使用 WordPress 插件 ( https://wordpress.org/plugins/post-smtp/ ) 通过 Gmail API 而不是本地邮件服务器使用 SMTP。

感谢您的见解!

email smtp gmail-api

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

Gmail API - PHP - 使用服务帐户发送电子邮件

问题:我遇到了 HTTP 400 错误,指出“前提条件检查失败”。每当我调用 sendMessage() 方法时。

我不知道我有什么可以考虑的:

  1. 启用 Gmail API。
  2. 创建了一个服务帐户。
  3. 设置域范围的委派(针对 G-Suites)。
  4. 为服务启用了域范围的委派。

请注意,我已成功运行 quickstart.php,因此我知道 google 库已正确安装。下面是我的代码:

<?php
 require_once('../../vendor/autoload.php');

$client = new Google_Client();
$credentials_file = '../../vendor/google/auth/credentials.json';

$client->setAuthConfig($credentials_file);
$client->setApplicationName("no-reply mailing");
$client->setScopes(['https://www.googleapis.com/auth/gmail.send']);
$service = new Google_Service_Gmail($client);
$message = createMessage('me', 'some@email.com', 'This is but a test', 'Please work...');

// Email a user
sendMessage($service, 'me', $message);

/**
* @param $sender string sender email address
* @param $to string recipient email address
* @param $subject string email subject
* @param $messageText string email …
Run Code Online (Sandbox Code Playgroud)

php gmail-api google-workspace

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

尝试在 rails 中使用 Gmail API 进行身份验证时,没有路由匹配 [GET] "/auth/google_oauth2" 错误

尝试使用 Rails 中的 Gmail API 进行身份验证时,出现 No route matching [GET] "/auth/google_oauth2" 错误。

按照这篇文章https://www.twilio.com/blog/2014/09/gmail-api-oauth-rails.html,我正在实现 Gmail API 集成。

代码似乎是正确的。但不知道是什么问题。

在路由文件中:

  root to: 'visitors#index'
  if defined?(Devise)
    devise_for :users, :controllers => { :registrations => "registrations", :passwords => "passwords", omniauth_callbacks: 'omniauth_callbacks' }
    devise_scope :user do
      get 'auth/:provider/callback', :to => 'users/omniauth_callbacks#facebook'
    end
  end
  get "/auth/:provider/callback" => "candidates#authenticate_from_google"
Run Code Online (Sandbox Code Playgroud)

在 rake 路线中,我什至也有路线。

GET /auth/:provider/callback(.:format)  candidates#authenticate_from_google

  
Run Code Online (Sandbox Code Playgroud)

在 Gemfile 中:-

gem "omniauth"
gem "omniauth-linkedin"
gem "jwt", "~> 1.4.1"
gem "linkedin-scraper", "~> 0.1.5"
gem "omniauth-facebook"
gem "omniauth-google-oauth2"
gem 'signet' …
Run Code Online (Sandbox Code Playgroud)

routes ruby-on-rails omniauth gmail-api

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