2015-05-11 57 views
0

我在使用Gmail API顯示郵件內容時遇到問題。我已連接到郵箱,並正在生成郵件列表,但與郵件相關的所有值(除了ID)都爲空。從Gmail API訪問郵件內容

生成的郵件列表中的代碼是Gmail API網站上的示例代碼斬:

public static List<Message> ListMessages(GmailService service, String userId, String query) 
    { 
     List<Message> result = new List<Message>(); 
     UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId); 
     request.Q = query; 
     do 
     { 
      try 
      { 
       ListMessagesResponse response = request.Execute(); 
       result.AddRange(response.Messages); 
       request.PageToken = response.NextPageToken; 
      } 
      catch (Exception e) 
      { 
       Console.WriteLine("An error occurred: " + e.Message); 
      } 
     } while (!String.IsNullOrEmpty(request.PageToken)); 
     return result; 
    } 

並打印消息的代碼是:

List<Message> messages = ListMessages(service, "me", ""); 
     Console.WriteLine("Messages from user's inbox:"); 
     foreach(Message m in messages) 
     { 
      string snippet = m.Snippet; 
      Console.WriteLine("Message: {0}", snippet); 
     } 

但再次,當我在打印行放置斷點並檢查消息列表時,與消息內容相關的所有值都爲空。

回答

0

我明白了;我會留下它,因爲它不是很明顯。必須在foreach循環中添加一個get語句,以使用列表中的Id明確「獲取」消息。

foreach(Message m in messages) 
     { 
      Message m2 = service.Users.Messages.Get("me", m.Id).Execute(); 
      Console.WriteLine("Message: {0}", m2.Snippet); 
     }