2015-04-28 17 views
5

Tôi đang làm việc trên ứng dụng web nơi tôi cần kiểm tra "thư mới nhất" mà tôi đã nhận được từ một người gửi cụ thể trong tài khoản gmail của tôi theo giờ. Để đạt được điều này, tôi đã sử dụng API Gmail cho PHP và có thể truy xuất thư từ một người gửi cụ thể nhưng tôi cần sắp xếp thư/thư này ngày và giờ để tôi có thể nhận email cuối cùng từ một người gửi cụ thể .Nhận tin nhắn/thư được sắp xếp theo ngày và giờ trong Gmail API

Tôi đã kiểm tra Advanced Search options of Gmail API cung cấp để sắp xếp theo ngày, tuy nhiên nó không cung cấp bất kỳ phương pháp nào để xử lý nó theo thời gian.

Có cách nào để lấy ngày giờ và sắp xếp không? hoặc bất kỳ cách tiếp cận nào khác có thể giúp tôi nhận được thư "mới nhất" từ một người gửi cụ thể?

Hãy giúp tôi. Cảm ơn trước.

+0

Tôi không nghĩ rằng bạn có thể nhận được thời gian và ngày của tin nhắn hoặc chuỗi. Nhưng bạn có thể truy xuất danh sách thư từ một người có trong ngày. Hãy thử đưa q = từ: [email protected] vào: INBOX sau: 2015/03/25 trước: 2015/03/30 "cung cấp danh sách thư từ một người trong ngày đó .. Chỉ cần thực hiện desc trên kết quả này và những cái mới nhất là những email mới. – SGC

Trả lời

0

Bạn chỉ có thể liệt kê các thư, yêu cầu một thư duy nhất và nói rõ địa chỉ email nào cần gửi.

maxResults = 1 
query = from:[email protected] 

GET https://www.googleapis.com/gmail/v1/users/me/messages?maxResults=1&q=from%3Aexample%40gmail.com&access_token={YOUR_API_KEY} 

đáp ứng:

{ 
"messages": [ 
    { 
    "id": "14e97f7ea9b794a4", // This is the Id of the latest message. 
    "threadId": "14e97f7ea9b794a4" 
    } 
], 
"nextPageToken": "03176727664356668776", 
"resultSizeEstimate": 3 
} 

Bây giờ nó chỉ là một vấn đề nhận được thông báo! Nếu bạn quan tâm khi người dùng nhận được thư, bạn có thể yêu cầu internalDate, biểu thị thời gian bằng ms kể từ kỷ nguyên mà thư đã được tạo.

fields = internalDate,payload/body/data 

GET https://www.googleapis.com/gmail/v1/users/me/messages/14e97f7ea9b794a4?fields=internalDate%2Cpayload%2Fbody%2Fdata&access_token={YOUR_API_KEY} 

đáp ứng:

{ 
"internalDate": "1437068683000", // This is when the message was created. 
"payload": { 
    "body": { 
    "data": "VGhlIGFjdHVhbCBtZXNzYWdlIHRleHQgZ29lcyBoZXJl" // This is the mail data. 
    } 
} 
} 

Đây không phải là php mã, nhưng bạn biết rằng tốt hơn tôi! Chỉ cần sử dụng cùng một truy vấn và các trường trong khung công tác của bạn và bạn sẽ nhận được kết quả tương tự.

Các vấn đề liên quan