获取委托的收件箱ID

时间:2013-12-27 15:10:56

标签: c# .net gmail google-admin-sdk

在我的一个应用程序中,我正在尝试生成指向特定Gmail邮件的链接。我有线程ID,所以我可以在收件箱中生成一个消息的链接,如下:

string message_url = "https://mail.google.com/mail/#inbox/" + Fields!thread_id.Value;

但是,我意识到我的用户将使用委托的电子邮件帐户,并且每个用户的委派收件箱的网址都不同。例如:

https://mail.google.com/mail/b/126/u/0/#inbox

此网址的“收件箱ID”为126.这与设置委派帐户的其他人不同(我的测试人员网址的“收件箱ID”为237)。

因此,我需要使用google admin sdk获取每个用户的委派帐户收件箱的网址。

这是我到目前为止所拥有的:

GoogleMailSettingsService service = new (MY_DOMAIN, "Gmail");
service.setUserCredentials(ADMIN_ACC, ADMIN_PASS);

AppsExtendedFeed delegates = service.RetrieveDelegates(SPECIFIC_ACCOUNT);
string delegated_to = ((AppsExtendedEntry)delegates.Entries[0]).getPropertyValueByName("delegationId");

查看delegates.Entries,我可以看到列出该帐户的每个代表。有没有办法从这些信息中获取委托的收件箱网址或“收件箱ID”?

1 个答案:

答案 0 :(得分:0)

我开了一张Google企业支持的门票,他们基本上说不能这样做。我的解决方法只是预先设置委派帐户(我只有几个用户,所以它不会太费力)。