我创建了一个应用程序,在其中我从应用程序的 gmail 收件箱中获取所有邮件。现在我想要的是,当用户单击我的应用程序中的任何电子邮件时,用户应该被重定向到实际的 gmail 和用户单击的应在 gmail 中打开的电子邮件。因此,我通过在应用程序中的 href 标记中提供 mail.google.com/mail/u/0/#inbox/ 链接来实现该功能。
现在我面临的问题是,假设用户在浏览器中打开了多个 Gmail 帐户。由于我提供了硬编码器网址“ https://mail.google.com/mail/u/0/#inbox/ ”,它总是以“0”authuser id 打开邮件。那么有什么方法可以在我的应用程序中动态获取这个值。我检查了 gmail 是如何做的,假设当我打开第一个 gmail 帐户时,该 url 将是 mail.google.com/mail/u/0/#inbox。如果我打开另一个帐户,则网址将为 mail.google.com/mail/u/1/#inbox。原来是 0,现在是 1。
因此,我检查过,当我们访问任何 gmail api 时,谷歌会提供同意屏幕,如果打开了多个帐户,谷歌将向您提供可以选择帐户的屏幕。选择帐户后,将出现同意屏幕。所以网址将类似于“ https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/gmail.readonly&response_type=code&redirect_uri=http://localhost:8080/ web/guest/GmailDashboard&access_type=online&approval_prompt=auto&client_id=19502573792-0fvebvrb4jg1usmn2r0hfka31la8gtfs.apps.googleusercontent.com&hl=en&from_login=1&as=4ded27cb6d28ee3b&pli=1&authuser=0 ”。我想要我的应用程序中的最后一个参数 authuser 。
任何帮助将不胜感激。
感谢和问候,阿卜杜勒巴斯特·F·谢赫。
我们已经在应用程序中使用Google登录了。我们在请求登录时提供了serverClientID。
我们将user.serverAuthCode设置为nil。
我们的要求如下:
func googleLogin(){
var configureError: NSError?
GGLContext.sharedInstance().configureWithError(&configureError)
assert(configureError == nil, "Error configuring Google services: \(configureError)")
let gid = GIDSignIn.sharedInstance()
if let path = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist") {
let myDict = NSDictionary(contentsOfFile: path)
gid?.serverClientID = "our servers cliet id as configured over firebase"
// This client id of our ios app we are getting from
// GoogleService-info.plist
gid?.clientID = myDict!.value(forKey: "CLIENT_ID") as! String
}
// gid?.serverClientID = "our_servers" // TODO: fetch from plist
gid?.scopes.append("https://www.googleapis.com/auth/gmail.readonly")
print("\nClient Id: \(gid!.clientID!) Server …Run Code Online (Sandbox Code Playgroud) 第一行出现错误:
except errors.HttpError, error:
print (f'An error occurred: {error}')
return None
Run Code Online (Sandbox Code Playgroud)
(第2行已针对python 3更新。只有要打印的括号是必需的)
我开始探索 Gmail API。我按照教程显示标签列表(https://developers.google.com/gmail/api/quickstart/dotnet),并且工作正常。
高度赞赏帮助
当我修改程序流程时,它给了我错误。我无法追踪错误。它给了我方法错误Execute()。
错误:值“= Get Labels google-api-dotnet-client/1.25.0.0 (gzip)”的格式无效
这是我的代码。
public static class Labels
{
public static void ListLabels ( )
{
try
{
var scope = new [] { GmailService.Scope.GmailReadonly };
var service = Authorization.GetGmailService(scope, "AppName = Get Labels");
if (service != null)
{
var requestListLabels = service.Users.Labels.List("me");
var labelsList = requestListLabels.Execute().Labels;
Console .WriteLine ( "\n\n---- Labels List ----" );
if ( labelsList != null && labelsList .Count > 0 )
{
foreach ( …Run Code Online (Sandbox Code Playgroud) 创建客户端 ID 时,授权的 JavaScript 源不起作用。我正在尝试从我的 html 页面中集成 google 登录 .. 我的本地主机路径是http://localhost/charts/ .. 同时将http://localhost/charts/ 添加到 Authorized JavaScript origins files 文本框显示如下错误:Origin URI 不能包含路径或以“/”结尾:http://localhost/charts/ .. 如果有人可以帮助我...这里我发送错误截图
所以,我遵循了本指南的所有内容,是的,我能够发送电子邮件,但我正在尝试添加密件抄送电子邮件,因为它的列表很长,我不希望它们显示在电子邮件的收件人列表中。
使用 PHPMailer 发送时一切正常,这个问题似乎可以解决我的问题,但尽管我已经尝试过,但我还没有找到答案。
我现在是怎么做的:
$client = getClient();
if (is_string($client)){
exit ($client);
}
$service = new Google_Service_Gmail($client);
$user = 'me';
$strSubject = 'Correo GMail API' . date('M d, Y h:i:s A');
$strRawMessage = "From: Lauro Campos<jlcampost@concredito.com.mx>\r\n";
$strRawMessage .= "To: Metro Gio <greyeso@concredito.com.mx>\r\n";
$strRawMessage .= "Bcc: <cjlindorv@concredito.com.mx>,<cfgonzalezr@concredito.com.mx>,<jlcampost@concredito.com.mx>\r\n";
$strRawMessage .= 'Subject: =?utf-8?B?' . base64_encode($strSubject) . "?=\r\n";
$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 .= "mensaje <b>de prueba!\r\n";
// The …Run Code Online (Sandbox Code Playgroud) 我正在使用 Google Apps Script 自动将电子邮件中的附件保存到唯一的 Google Drive 文件夹,具体取决于邮件已过滤到的标签。
到目前为止,我已经设法使用我在网上找到的一些代码片段来获取消息 ID。但是,我一直在尝试访问邮件正文并将附件保存到驱动器文件夹中。
function getMessage(){
var folder = DriveApp.getFolderById('xxxxxxxxxxxxx');
var userId = "myemail@gmail.com";
var query = "label:Global Alcohol";
var res = Gmail.Users.Messages.list(userId, {q: query});
var attachment = msgs.Attachments.get(userId, messageId, id);
var ids = res.messages.map(function(e){return e.id});
Logger.log(ids);// Message IDs with the specific labels.
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助。
我正在尝试使用 Google Apps 脚本中的 Gmail API 自动从我的帐户发送电子邮件。
这是我的代码:
function email_checker() {
var yourEmailAddress = "###@gmail.com";
var myEmailAddress = "support@###.com";
var subject = "testing mail";
var forScope = GmailApp.getInboxUnreadCount();
var htmlBody = '<html><body>' + '<h1>HI</h1>' + '</body></html>';
var message = 'From: Me <' + myEmailAddress + '>\r\n' +
'To: Me <' + myEmailAddress + '>\r\n' +
'Subject: ' + subject + '\r\n' +
'Content-Type: text/html; charset=utf-8\r\n' +
'Content-Transfer-Encoding: quoted-printable\r\n\r\n' +
htmlBody;
var draftBody = Utilities.base64Encode(message);
draftBody = draftBody.replace(/\//g, '_').replace(/\+/g, '-');
var …Run Code Online (Sandbox Code Playgroud) 大家好,我正在尝试使用 Gmail API 打印发件人发送的特定电子邮件。我设法做了一些研究并观看了一些有关如何打印发件人和主题的视频,但由于某种原因,我无法打印邮件正文。我查看了 Gmail API,但没有找到任何可以帮助以文本形式打印正文的内容。
有关打印电子邮件正文的任何帮助,请...
service = build('gmail', 'v1', credentials=creds)
results = service.users().messages().list(userId='me', labelIds=['INBOX'], q="from:specific email, is:unread").execute()
messages = results.get('messages', [])
if not messages:
print("You have no New Messages.")
else:
message_count = 0
for message in messages:
msg = service.users().messages().get(userId='me', id=message['id']).execute()
message_count= message_count + 1
email_data= msg['payload']['headers']
for values in email_data:
name = values["name"]
if name == "From":
from_name = values ["value"]
print(from_name)
subject= [j['value'] for j in email_data if j["name"]=="Subject"]
print(subject)
Run Code Online (Sandbox Code Playgroud)
正如我所说,这段代码会提取特定的电子邮件并打印发件人,而我所缺少的主题是正文。
我尝试按照此 stackoverflow 中发布的内容进行操作: How to检索整个邮件正文使用 …
gmail-api ×10
gmail ×3
email ×2
google-oauth ×2
python ×2
python-3.x ×2
.net ×1
api ×1
bcc ×1
c# ×1
gmail-imap ×1
google-api ×1
ios ×1
oauth ×1
php ×1
swift ×1