使用GTLGmail Class iOS发送新电子邮件

时间:2016-02-26 07:49:57

标签: ios objective-c gmail gmail-api

我正在使用gmail应用,我想发送一封新电子邮件。

我知道我们必须按如下方式进行查询: -

GTLQueryGmail *query = [GTLQueryGmailqueryForUsersMessagesSendWithUploadParameters:nil];
query.message = gtlGmailMessage; //parent message
[self.service executeQuery:query
              delegate:self
     didFinishSelector:@selector(displayResult:finishedWithObject:error:)];

但是我无法理解如何在查询中传递gtlGmailMessage消息。

 GTLGmailMessage *gtlGmailMessage = [[GTLGmailMessage alloc] init];

任何人都可以告诉他们输入有效载荷数据的位置,如何设置和来自字段。

先谢谢。

1 个答案:

答案 0 :(得分:0)

以下是sample我如何设法仅将消息作为原始数据发送:

google-api-objectivec-client已弃用,已被google-api-objectivec-client-for-rest

取代
NSString *messageString =                              @"From: \"From Email USer Name\" <fromEmail>\r\n";
messageString = [messageString stringByAppendingString:@"To: \"To Email User Name\" <ToEmail>\r\n"];
messageString = [messageString stringByAppendingString:@"Subject: New stuff\r\n"];
messageString = [messageString stringByAppendingString:@"Content-type: text/html;charset=iso-8859-1\r\n\r\n"];
messageString = [messageString stringByAppendingString:@"Hello my friend, \n can you please call me when have free time. \nMark."];

NSData *data = [messageString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64Encoded = GTLREncodeWebSafeBase64(data);


GTLRGmail_Message *message = [[GTLRGmail_Message alloc] init];

message.raw = base64Encoded;

GTLRGmailQuery_UsersMessagesSend *query = [GTLRGmailQuery_UsersMessagesSend queryWithObject:message userId:@"myEmailAddress" uploadParameters:nil];

[self.service executeQuery:query completionHandler:^(GTLRServiceTicket * _Nonnull callbackTicket, id  _Nullable object, NSError * _Nullable callbackError) {
      NSLog(@"%@",callbackError);
 }];