Interfejs Gmail API używa zasobów Thread
, aby grupować odpowiedzi na e-maile z oryginalną wiadomością w jednym wątku. Dzięki temu możesz pobrać wszystkie wiadomości z rozmowy w kolejności, co ułatwia zrozumienie kontekstu wiadomości lub doprecyzowanie wyników wyszukiwania.
Podobnie jak wiadomości, wątki mogą mieć przypisane etykiety. W przeciwieństwie do wiadomości wątków nie można jednak tworzyć, można je tylko usuwać. Wiadomości można jednak wstawiać w wątku.
Spis treści
Pobieranie wątków
Wątki to prosty sposób na pobieranie wiadomości w kolejności w ramach rozmowy.
Wybierając zestaw wątków, możesz pogrupować wiadomości według rozmowy i dodać dodatkowy kontekst. Listę wątków możesz pobrać za pomocą metody threads.list
, a konkretny wątek za pomocą metody threads.get
. Możesz też filtrować wątki, używając tych samych parametrów zapytania co w przypadku zasobu Message
. Jeśli jakakolwiek wiadomość w wątku pasuje do zapytania, w wyniku zwrócony zostanie ten wątek.
Poniżej znajdziesz przykładowy kod, który pokazuje, jak używać obu metod w przykładzie, który wyświetla najbardziej obszerne wątki w skrzynce odbiorczej. Metoda threads.list
pobiera wszystkie identyfikatory wątków, a następnie threads.get
pobiera wszystkie wiadomości w każdym wątku.
W przypadku wątków z co najmniej 3 odpowiedziami wyodrębniamy wiersz Subject
i wyświetlamy niepuste wiersze oraz liczbę wiadomości w wątku. Przykładowy kod znajdziesz też w odpowiednim filmie DevByte.
Python
Dodawanie kopii roboczych i wiadomości do wątków
Jeśli wysyłasz lub przenosisz wiadomości, które są odpowiedzią na inny e-mail lub są częścią rozmowy, aplikacja powinna dodać tę wiadomość do odpowiedniego wątku. Dzięki temu użytkownicy Gmaila, którzy biorą udział w rozmowie, łatwiej zachowają kontekst wiadomości.
Wersję roboczą można dodać do wątku w ramach tworzenia, aktualizowania lub wysyłania wersji roboczej wiadomości. Możesz też dodać wiadomość do wątku w ramach wstawiania lub wysyłania wiadomości.
Aby wiadomość lub wersja robocza mogła być częścią wątku, musi spełniać te kryteria:
- Wymagany
threadId
musi być określony wMessage
lubDraft.Message
, które przesyłasz wraz z prośbą. - Nagłówki
References
iIn-Reply-To
muszą być skonfigurowane zgodnie ze standardem RFC 2822. - Nagłówki
Subject
muszą być takie same.
Zapoznaj się z przykładami tworzenia wersji roboczej lub wysyłania wiadomości. W obu przypadkach wystarczy dodać klucz threadId
z identyfikatorem wątku do metadanych wiadomości, czyli obiektu message
.