REST API Gmail Objective-C - users.watch не предоставляет обновления - PullRequest
0 голосов
/ 19 марта 2019

Я просыпаюсь над созданием настольного приложения POC для macOS в swift, чтобы посмотреть входящие почтовые ящики с помощью ObjectiveCRestAPI и ниже, как я настроил запрос на просмотр.

func setupWatcher() {

    let watcher : GTLRGmail_WatchRequest  =  GTLRGmail_WatchRequest.init();
    watcher.labelIds = ["INBOX"];
    watcher.labelFilterAction = kGTLRGmail_WatchRequest_LabelFilterAction_Include;
    watcher.topicName = "projects/my-app/topics/topic-watcher";
    //GTLRGmailQuery_UsersStop;
    let userWatch : GTLRGmailQuery_UsersWatch = GTLRGmailQuery_UsersWatch.query(withObject: watcher, userId: "me");

    gmailService.executeQuery(userWatch) { (callbackTicket, object, callbackError) in
        if(callbackError == nil){

            let watchResponse = object as! GTLRGmail_WatchResponse;

            DDLogError("GmailAccount: WatchResponse historyID = \(watchResponse.historyId) ");
            DDLogError("GmailAccount: WatchResponse expiary = \(watchResponse.expiration?.int32Value) ");

        } else {
            DDLogError("GmailAccount: WatchResponse got error: \(callbackError?.localizedDescription)");
        }
    }
}

И области действия:

 let scopes = [
            OIDScopeOpenID,
            OIDScopeEmail,
            OIDScopeProfile,
            kGTLRAuthScopeGmailCompose,
            kGTLRAuthScopeGmailInsert,
            kGTLRAuthScopeGmailLabels,
            kGTLRAuthScopeGmailSend,
            kGTLRAuthScopeGmailMailGoogleCom
           // kGTLRAuthScopeGmailModify
        ] ;

Так что, когда я выполняю кулак, он работает и возвращает идентификатор истории, но после этого я больше не получаю уведомления.Я думаю, что что-то упустил.

Обновление - ответ Github от команды API - https://github.com/google/google-api-objectivec-client-for-rest/issues/279

...