Я просыпаюсь над созданием настольного приложения 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