我正在尝试使用 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) 我正在尝试从 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 主题与过滤条件匹配,我正在尝试通过在它前面加上某个单词来更改 Gmail 主题。我知道无法使用 Google App Script 修改主题行。但是是否可以使用 GMAIL API 和 App Script 对其进行修改。另外,我是 G-Suite 的成员,所以是否有任何默认配置或内置方法可以实现相同的目标。
javascript gmail-imap google-apps-script google-apis-explorer 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.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) 我跟着这个 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 ?
我正在尝试通过 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'],但我无法获得消息正文。
如果您对此有任何想法,请帮助我。
使用 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。
感谢您的见解!
问题:我遇到了 HTTP 400 错误,指出“前提条件检查失败”。每当我调用 sendMessage() 方法时。
我不知道我有什么可以考虑的:
请注意,我已成功运行 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) 尝试使用 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) gmail-api ×10
php ×3
python ×2
codeigniter ×1
email ×1
encoding ×1
gmail ×1
gmail-imap ×1
go ×1
google-api ×1
javascript ×1
oauth-2.0 ×1
omniauth ×1
python-3.x ×1
redirect ×1
routes ×1
smtp ×1