Za pomocą MessagePinzasobu w interfejsie Chat API aplikacja może przypinać i odpinać wiadomości oraz pobierać listę wszystkich przypiętych wiadomości w pokojach Google Chat. Przypięte wiadomości są widoczne w interfejsie Google Chat dla wszystkich użytkowników pokoju. Ten interfejs API pomaga aplikacji zarządzać przypiętymi wiadomościami w imieniu użytkownika.
Informacje o tym, jak użytkownicy przypinają wiadomości w pokojach, znajdziesz w artykule Przypinanie wiadomości, plików i linków w pokojach oraz wiadomościach.
Wymagania wstępne
Node.js
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud Node.js.
-
Utwórz dane logowania identyfikatora klienta OAuth dla aplikacji na komputery. Aby uruchomić przykład w tym przewodniku, zapisz dane logowania jako plik JSON o nazwie
credentials.jsonw katalogu lokalnym.
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkowników.
Uwagi
- Możesz przypinać tylko wiadomości, które już znajdują się w pokoju. Nie możesz utworzyć nowego komunikatu i przypiąć go w tym samym żądaniu.
- Nie możesz przypinać wiadomości, które są widoczne tylko dla Ciebie. Nie możesz na przykład przypinać wiadomości prywatnych otrzymywanych z aplikacji.
- Każdy pokój czatu może mieć maksymalnie 100 przypiętych wiadomości. Jeśli aplikacja spróbuje przypiąć 101 wiadomość, interfejs API zwróci błąd.
Przypinanie wiadomości
Aby przypiąć wiadomość z uwierzytelnianiem użytkownika, w żądaniu przekaż te informacje:
- Określ zakres autoryzacji
chat.spaces.pinslubchat.spaces. - Zadzwoń pod numer
messagePins.create. - Określ
parent(nazwę pokoju) i podajbodyzmessagenazwą zasobu oryginalnej wiadomości.
Ten przykład przypina wiadomość w pokoju:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_pin_message.py. Dodaj do pliku
chat_pin_message.pyten kod:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then pins a message in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Pin a message. result = service.spaces().messagePins().create( # The space to pin the message in. # # Replace SPACE with a space ID or name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to pin. body={ 'message': 'spaces/SPACE/messages/MESSAGE' } ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()W kodzie zastąp te elementy:
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_pin_message.py
Odepnij wiadomość
Aby odpiąć wiadomość za pomocą uwierzytelniania użytkownika, w żądaniu przekaż te informacje:
- Określ zakres autoryzacji
chat.spaces.pinslubchat.spaces. - Zadzwoń pod numer
messagePins.delete. - Ustaw
namena nazwę zasobuMessagePin, który chcesz usunąć.
Aby odpiąć wiadomość:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_unpin_message.py. Dodaj do pliku
chat_unpin_message.pyten kod:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then unpins a message from a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Unpin a message. result = service.spaces().messagePins().delete( # The resource name of the message pin to delete. # # Replace SPACE with a space ID or name, and MESSAGE with the message ID. name='spaces/SPACE/messagePins/MESSAGE' ).execute() print(result) if __name__ == '__main__': main()W kodzie zastąp te elementy:
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_unpin_message.py
Wyświetlanie listy przypiętych wiadomości
Aby uzyskać listę przypiętych wiadomości w pokojach, do których masz dostęp, użyj uwierzytelniania użytkownika i w żądaniu przekaż te informacje:
- Określ jeden z zakresów odczytu:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pinslubchat.spaces. - Zadzwoń pod numer
messagePins.list. - Jako nazwę pokoju podaj
parent, aby pobrać przypięte wiadomości.
Aby wyświetlić listę przypiętych wiadomości:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_list_pinned_messages.py. Dodaj do pliku
chat_list_pinned_messages.pyten kod:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists pinned messages in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # List pinned messages. result = service.spaces().messagePins().list( # The space to list pinned messages from. # # Replace SPACE with a space ID or name. parent='spaces/SPACE' ).execute() print(result) if __name__ == '__main__': main()W kodzie zastąp
SPACEidentyfikatorem przestrzeni znameprzestrzeni.W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_list_pinned_messages.py
Powiązane artykuły
- Formatowanie wiadomości
- Usuwanie wiadomości
- Wyświetlanie szczegółowych informacji o wiadomości
- Wyświetlanie listy wiadomości w pokoju
- Aktualizowanie wiadomości
- Wyślij wiadomość.