Как я могу отправить почту, используя + (id)queryForUsersMessagesSendWithUploadParameters:(GTLUploadParameters *)uploadParametersOrNil; в iOS?

Мы пытаемся разработать почтовое приложение для iOS, я интегрировал google gmail-api, также вытащил сообщение из своего почтового ящика.

Я поражен, отправляю почту через

+ (id)queryForUsersMessagesSendWithUploadParameters:(GTLUploadParameters *)uploadParametersOrNil; 

Как мы можем использовать GTLUploadParameters для отправки почты?

1 ответ

- (void)sendEmail:(WLGmailMessage *)message completionBlock:(void (^)(NSError *))completionBlock
{
    GTLGmailMessage *gtlGmailMessage = [[GTLGmailMessage alloc] init];
    gtlGmailMessage.raw = message.rawString;

    // upload parameter
//        GTLUploadParameters *upParam = [GTLUploadParameters uploadParametersWithData:GTLDecodeWebSafeBase64(messageRawStr) MIMEType:@"message/rfc822"];

    // query
    GTLQueryGmail *query = [GTLQueryGmail queryForUsersMessagesSendWithUploadParameters:nil];
    query.message = gtlGmailMessage;
    [_service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
        if (error) {
            NSLog(@"ERROR: %@", error);
        } else {
            NSLog(@"SENT EMAIL");
        }
        completionBlock(error);
    }];

}

- (NSString *)rawString
{
    NSMutableString *message = [NSMutableString new];
    [message appendFormat:@"From: %@\n", [_fromAddress rawString]];
    [message appendFormat:@"To: %@\n", [_toAddress rawString]];
    [message appendFormat:@"Subject: %@\n", _subject];
    [message appendFormat:@"Date: %@\n", [self _formattedDate]];
#warning input real ID
    [message appendString:@"Message-ID: <tmpID>\n"];
    [message appendString:@"\n"];
    [message appendString:_body];
    return GTLEncodeWebSafeBase64([message dataUsingEncoding:NSUTF8StringEncoding]);
}

- (NSString *)rawString
{
    return [NSString stringWithFormat:@"%@ <%@>", _name, _emailAddress];
}

Завершить проект здесь

Другие вопросы по тегам