环境:Asp.Net,C#,Google.Apis
嗨,我想使用.Net Google.Apis.Gmail.v1以编程方式执行以下操作:
我在第一部分中很成功,但是它总是将我转储到草稿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用户界面中,有人对这样的东西感到幸运吗?
谢谢!