500 error.Internal [backend error] Google Api Push #gmail_watch

时间:2017-12-07 18:01:04

标签: .net gmail-api

我尝试使用此处的指南获取通知。  https://developers.google.com/gmail/api/guides/push#gmail_watch

Gmail服务(服务)可以获取标签,收件箱和其他API功能。

这是代码。

        var service = new GmailService(new BaseClientService.Initializer()
    {
        HttpClientInitializer = credential,
        ApplicationName = ApplicationName,
    });
    IList<string> label = new List<string>();
    label.Add("INBOX");
    WatchRequest request2 = new WatchRequest
    {
        LabelIds = label,
        LabelFilterAction = "include",
        TopicName = "projects/******/topics/****TestTopic"
    };
    var x= service.Users.Watch(request2, "me").Execute();

Watch抛出此例外

Google.Apis.Requests.RequestError
Backend Error [500]
Errors [
    Message[Backend Error] Location[ - ] Reason[backendError] Domain[global]
]

1 个答案:

答案 0 :(得分:10)

好的,我的解决了。 是的,我同意,来自gmail API的错误消息有点模糊,但这是我修复它的方法。

显然,我忘了向gmail授予推送权限。 为此,请转到here并执行以下操作:

  • 选择您的项目。
  • 从右侧的标签中,将推送权限授予gmail-api-push@system.gserviceaccount.com

祝你好运!