Bu kılavuzda, updateSpaceReadState
yönteminin nasıl kullanılacağı
Alanları okundu veya okunmadı olarak işaretlemek için SpaceReadState
Google Chat API kaynağı.
İlgili içeriği oluşturmak için kullanılan
SpaceReadState
kaynak
hakkındaki ayrıntıları temsil eden tekil bir kaynaktır:
Belirtilen kullanıcının bir Google Chat alanında son okunan mesajı.
Ön koşullar
Python
- İşletme veya Kuruluş Şuna erişimi olan Google Workspace hesabı: Google Chat.
- Ortamınızı ayarlayın:
- Bir Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Google Chat API'yi etkinleştirin ve yapılandırın. Bunun için bir ad girin, Chat uygulamanızın simgesi ve açıklaması.
- Şunu yükleyin: Python Google API İstemci Kitaplığı.
-
Bir masaüstü uygulaması için OAuth istemci kimliği kimlik bilgileri oluşturun. Örneği bu
yoksa, kimlik bilgilerini
client_secrets.json
adlı bir JSON dosyası olarak yerel dizini oluşturun.
- Kullanıcı kimlik doğrulamasını destekleyen bir yetkilendirme kapsamı seçin.
Node.js
- İşletme veya Kuruluş Şuna erişimi olan Google Workspace hesabı: Google Chat.
- Ortamınızı ayarlayın:
- Bir Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Google Chat API'yi etkinleştirin ve yapılandırın. Bunun için bir ad girin, Chat uygulamanızın simgesi ve açıklaması.
- Şunu yükleyin: Node.js Google API İstemci Kitaplığı.
-
Bir masaüstü uygulaması için OAuth istemci kimliği kimlik bilgileri oluşturun. Örneği bu
yoksa, kimlik bilgilerini
client_secrets.json
adlı bir JSON dosyası olarak yerel dizini oluşturun.
- Kullanıcı kimlik doğrulamasını destekleyen bir yetkilendirme kapsamı seçin.
Apps Komut Dosyası
- İşletme veya Kuruluş Şuna erişimi olan Google Workspace hesabı: Google Chat.
- Ortamınızı ayarlayın:
- Bir Google Cloud projesi oluşturun.
- OAuth izin ekranını yapılandırın.
- Google Chat API'yi etkinleştirin ve yapılandırın. Bunun için bir ad girin, Chat uygulamanızın simgesi ve açıklaması.
- Bağımsız bir Apps Komut Dosyası projesi oluşturun, ve Gelişmiş Sohbet Hizmeti'ni etkinleştirin.
- Kullanıcı kimlik doğrulamasını destekleyen bir yetkilendirme kapsamı seçin.
Arayan kullanıcının alan okuma durumunu güncelle
Bir kullanıcının bir alandaki okuma durumunu güncellemek için aşağıdakileri ekleyin: talebiniz:
chat.users.readstate
yetkilendirme kapsamını belirtin.- Şunu çağırın:
updateSpaceReadState
yöntem uygulamasındaSpaceReadState
kaynak. - Almak için alan okuma durumunun
name
kısmını iletin. Kullanıcı kimliği veya takma ad ve alan kimliği girin. Alan okuma durumu, yalnızca okumanın alınmasını destekler Bu, arayan kullanıcının durumuna, takip etmek için:me
takma adı. Örneğin,users/me/spaces/SPACE/spaceReadState
- Arayan kullanıcının Workspace e-posta adresi. Örneğin,
users/user@example.com/spaces/SPACE/spaceReadState
- Arayan kullanıcının kullanıcı kimliği. Örneğin,
users/USER/spaces/SPACE/spaceReadState
- Alanın okuma durumunun özelliklerini belirten
updateMask
parametresini iletin. güncelleme (aşağıdaki alan yollarını destekler):lastReadTime
: Kullanıcının alan okuma durumunun güncellendiği zaman. Bu genellikle son okunan mesajın zaman damgasına karşılık gelir. veya boşluk oluşturur.lastReadTime
en son mesaj oluşturulma zamanından önce olduğunda boşluk, kullanıcı arayüzünde okunmamış olarak görünür. Alanı okundu olarak işaretlemek içinlastReadTime
, oluşturulan en son mesajdan sonraki herhangi bir değere (daha büyük) gerekir.lastReadTime
, en son mesaj oluşturma zamanıyla eşleşmeye zorlandı. Alan okuma durumunun yalnızca şurada bulunan iletilerin okunma durumunu etkilediğini unutmayın: alanın üst düzey görüşmesinde görünür. İleti dizilerindeki yanıtlar: etkilenmez ve bunun yerine, ileti dizisinin okuma durumunu temel alır.
Aşağıdaki örnek, arayan kullanıcının alan okuma durumunu günceller:
Python
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_spaceReadState_update.py
Aşağıdaki kodu
chat_spaceReadState_update.py
bölümüne ekleyin:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.users.readstate"] def main(): ''' Authenticates with Chat API via user credentials, then updates the space read state for the calling user. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.users().spaces().updateSpaceReadState( # The space read state to update. # # Replace USER with the calling user's ID, Workspace email, # or the alias me. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='users/me/spaces/SPACE/spaceReadState', updateMask='lastReadTime', body={'lastReadTime': f'{datetime.datetime(2000, 1, 3).isoformat()}Z'} ).execute() # Prints the API's response. print(result) if __name__ == '__main__': main()
Bu kodda, aşağıdakini değiştirin:
SPACE
: bir alan adı; şuradan edinebilirsiniz:spaces.list
yöntem API'den veya bir alanın URL'sinden.
Çalışma dizininizde örneği derleyin ve çalıştırın:
python3 chat_spaceReadState_update.py
Node.js
- Çalışma dizininizde şu ada sahip bir dosya oluşturun:
chat_spaceReadState_update.js
Aşağıdaki kodu
chat_spaceReadState_update
bölümüne ekleyin:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @return {!Promise<!Object>} */ async function updateSpaceReadState() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.users.readstate', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.users.spaces.updateSpaceReadState({ /** * The space read state to update. * * Replace USER with the calling user's ID, Workspace email, * or the alias me. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. */ name: 'users/me/spaces/SPACE/spaceReadState', updateMask: 'lastReadTime', requestBody: { lastReadTime: '{datetime.datetime(2000, 1, 3).isoformat()}Z' } }); } /** * Use the service endpoint to call Chat API. */ getSpaceReadState().then(console.log);
Bu kodda, aşağıdakini değiştirin:
SPACE
: bir alan adı; şuradan edinebilirsiniz:spaces.list
yöntem API'den veya bir alanın URL'sinden.
Çalışma dizininizde örneği derleyin ve çalıştırın:
node chat_spaceReadState_update.js
Apps Komut Dosyası
Bu örnekte, Gelişmiş Chat Hizmeti.
chat.users.readstate
yetkilendirme kapsamını Apps Komut Dosyası projesininappsscript.json
dosyası:"oauthScopes": [ "https://www.googleapis.com/auth/chat.users.readstate" ]
Apps Komut Dosyası projesinin kod:
/** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @param {string} spaceReadStateName The resource name of the space read state. */ function updateSpaceReadState(spaceReadStateName) { try { const time = new Date('January 1, 2000')).toJSON(); const body = {'lastReadTime': time}; Chat.Users.Spaces.updateSpaceReadState(spaceReadStateName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to update read state with error %s', err.message); } }
Google Chat API, belirtilen alanın okuma durumunu günceller ve geri döner
örneğinin
SpaceReadState
kaynak.
İlgili konular
- Arayan kullanıcının alan okuma durumunu öğrenin.
- Arayan kullanıcının ileti dizisi okunma durumunu alma.