在新的Gmail API中从.Net在Chrome中创建和编辑草稿

时间:2018-11-30 18:31:05

标签: asp.net .net google-api gmail

环境:Asp.Net,C#,Google.Apis

嗨,我想使用.Net Google.Apis.Gmail.v1以编程方式执行以下操作:

  1. 使用“收件人:” “发件人:” 和html 消息正文
  2. 创建草稿
  3. 直接在Chrome中打开该草稿。

我在第一部分中很成功,但是它总是将我转储到草稿UI中,用户必须先手动单击新创建的草稿,然后才能查看/编辑/发送。我希望我创建的消息的草稿窗口已经为用户打开,而无需用户单击。

我传递的网址格式为:"https://mail.google.com/mail/u/0/#drafts?compose="

对于“ compose =” ,我尝试同时传递“ draft.Id ”和“ draft.message.Id >”无济于事。加载gmail时,我可以看到“ compose =“和带有我的ID的查询字符串,但是当gmail加载时,它会将其剥离并转储到“ https://mail.google.com/mail/u/0/#drafts”。

以下是一些相关代码:

//use the Gmail.Apis
using Google.Apis.Gmail.v1;

//Instantiate a new draft object
Draft draft = new Draft();

//asign the e draft.Message
draft.Message = message;           

//execute actual draft creation
draft = service.Users.Drafts.Create(draft, "me").Execute();

//grab the draftId and messageId
string draftID = draft.Id
string messageID = draft.Message.Id;;
string url = @"https://mail.google.com/mail/u/0/#drafts?compose=" + draftID;   
//string url = @"https://mail.google.com/mail/u/0/#drafts?compose=" + 
messageID; //also doesn't work

//Open the url in default browser
Process.Start(Url);//Just dumps me on the Drafts page in the gmail ui WITHOUT my draft being open.

我注意到,当我单击UI中的草稿时,compose =是一些很长的字符串,我似乎无法在API中访问它,例如:

https://mail.google.com/mail/u/0/#drafts?JHHYHhgfjhfgcompose=CqMvqmRFpbgCMzBqnkZGwQjJBRlfghjXNzWSKLdDcCzmXflgZCDhFlmlmfLq

在新的Gmail用户界面中,有人对这样的东西感到幸运吗?

谢谢!

0 个答案:

没有答案