googleworkspace / add-ons-samples

Sample Google Workspace Add-ons
https://developers.google.com/gmail/add-ons
Apache License 2.0
271 stars 97 forks source link

linkPreviewTriggers and createActionTriggers event JSON is missing docs.id and docs.title despite sufficient OAuth scopes #194

Open lukekulik opened 4 months ago

lukekulik commented 4 months ago

Description

According to Google Workspace developer documentation docs event object should contain docs.id and docs.title if the https://www.googleapis.com/auth/drive.file scope has been authorized by the user.

However this is not the case in practice when attempting to deploy Google-provided example code for smart chips with the drive.file OAuth scope added. The docs event object only contains matchedUrl and it's missing docs.id and docs.title.

Code

Code from https://github.com/googleworkspace/add-ons-samples/tree/main/python/3p-resources with additional OAuth scope added (https://www.googleapis.com/auth/drive.file) and a print debug statement for event in create_link_preview/main.py

Output

{'commonEventObject': {'hostApp': 'DOCS', 'platform': 'WEB'},
 'authorizationEventObject': {'userOAuthToken': 'token1', 'userIdToken': 'token2', 'systemIdToken': token3'},
 'docs': {'matchedUrl': {'url': 'https://example.com/?name=123'}}} 

Note the last line in the output which only contains the matchedUrl field.

Steps to replicate

Nopandi1101 commented 1 month ago

Keterangan

Menurut dokumentasi pengembang Google Workspace , objek acara harus berisi docs.iddan docs.titleapakah https://www.googleapis.com/auth/drive.filecakupannya telah diizinkan oleh pengguna.

Namun, hal ini tidak berlaku dalam praktik saat mencoba menerapkan kode contoh yang disediakan Google untuk chip pintar dengan drive.filecakupan OAuth yang ditambahkan. Objek acara dokumen hanya berisi dan dan matchedUrltidak ada .docs.id``docs.title

Kode

Kode dari https://github.com/googleworkspace/add-ons-samples/tree/main/python/3p-resources dengan cakupan OAuth tambahan yang ditambahkan ( https://www.googleapis.com/auth/drive.file) dan pernyataan debug cetak untuk eventdicreate_link_preview/main.py

Keluaran

{'commonEventObject': {'hostApp': 'DOCS', 'platform': 'WEB'},
 'authorizationEventObject': {'userOAuthToken': 'token1', 'userIdToken': 'token2', 'systemIdToken': token3'},
 'docs': {'matchedUrl': {'url': 'https://example.com/?name=123'}}} 

Perhatikan baris terakhir pada keluaran yang hanya berisi matchedUrlbidang tersebut.

Langkah-langkah untuk mereplikasi

  • Terapkan kode contoh yang disediakan Google ke Cloud Functions
  • Buat, instal, dan otorisasi add-on Google Workspace
  • Tempel tautan contoh yang memicu ekstensi
  • Periksa log untuk fungsi cloud yang diterapkan untuk memverifikasi konten objek peristiwa

UQC53Sk3lkCm0E7kSejCsBk8z9f_Yf4ndp-MNNUjRhG5O0KV