Eklenti, manifest dosyası kullanır inceleyebilirsiniz.
Bu dokümanda, bir web sitesi için manifest dosyası yapılandırma Google Workspace eklentisi.
Google Workspace eklentileri için manifest yapısı
Google Workspace Eklentileri, dokümanın çeşitli yönlerini tanımlamak için manifest dosyasını kullanır. eklentisi görünüm ve davranış.
Google Workspace eklentilerinin manifest özellikleri:
manifest nesne yapısının addOns
bölümü altında düzenlenmiştir.
- Apps Komut Dosyası manifest dosyaları hakkında daha fazla bilgi için Manifest yapısı.
- Aşağıdakilerle derlenen eklentilerin manifest dosyaları hakkında bilgi edinin:
HTTP uç noktaları, REST Kaynağı:
projects.deployments
bölümüne bakın
Örnek Google Workspace eklentisi manifest yapılandırması
Aşağıdaki manifest örneğinde, bir manifesto dosyasında Aşağıdaki özellikleri içeren Google Workspace eklentileri:
addOns.common
bölümü adı, logo URL'si, renkler ve eklentinin ana makineden bağımsız ayarlarını kontrol edin.- Manifest, ortak bir ana sayfayı tanımlar, ancak aynı zamanda Takvim, Drive, Dokümanlar, Slaytlar'a özel ana sayfalar. Gmail varsayılan ana sayfayı kullanır.
- Örnek manifest ayarları aşağıdakileri sağlar:
eventOpen
veeventUpdated
takvimi tetikleyicileri.- (Yalnızca Apps Komut Dosyası) İki Takvim konferans çözümlerine göz atabilirsiniz.
- İki evrensel işlem.
- Bir Sürüş
onItemsSelectedTrigger
. - Gmail oluşturma işlemi ve bağlamsal tetikleyici.
- Dokümanlar
linkPreviewTriggers
nesnesi. Bu tetikleyici hakkında bilgi edinmek için Akıllı çiplerle bağlantıları önizleme bölümünü inceleyin. - Bir Dokümanlar
createActionTriggers
nesnesi. Bu tetikleyici hakkında bilgi edinmek için @ menüsünden üçüncü taraf kaynakları oluşturma başlıklı makaleyi inceleyin. - Google Dokümanlar, Google E-tablolar ve Google Dokümanlar ve Slaytlar'ı tıklayın.
oauthScopes
alanı proje için yetkilendirme kapsamlarını belirler (genellikle eklentiler).- (Yalnızca Apps Komut Dosyası)
urlFetchWhitelist
alanı, getirilen uç noktaların belirtilen bir değerle eşleşmesini sağlayan bir alandır HTTPS URL'si öneklerinin listesi. Daha fazla bilgi için bkz. URL'leri izin verilenler listesine ekleyin.
Örnekteki bağlantılar açıklamalara yönlendirir o alana karşılık gelen Apps Komut Dosyası için manifest referans dokümanları ve HTTP Google Workspace Eklentileri.
Apps Komut Dosyası
{ "addOns": { "calendar": { "createSettingsUrlFunction": "getConferenceSettingsPageUrl", "conferenceSolution": [{ "id": "my-video-conf", "logoUrl": "https://lh3.googleusercontent.com/...", "name": "My Video Conference", "onCreateFunction": "onCreateMyVideoConference" }, { "id": "my-streamed-conf", "logoUrl": "https://lh3.googleusercontent.com/...", "name": "My Streamed Conference", "onCreateFunction": "onCreateMyStreamedConference" }], "currentEventAccess": "READ_WRITE", "eventOpenTrigger": { "runFunction": "onCalendarEventOpen" }, "eventUpdateTrigger": { "runFunction": "onCalendarEventUpdate" }, "eventAttachmentTrigger": { "label": "My Event Attachment", "runFunction": "onCalendarEventAddAttachment" }, "homepageTrigger": { "runFunction": "onCalendarHomePageOpen", "enabled": true } }, "common": { "homepageTrigger": { "runFunction": "onDefaultHomePageOpen", "enabled": true }, "layoutProperties": { "primaryColor": "#ff392b", "secondaryColor": "#d68617" }, "logoUrl": "https://ssl.gstatic.com/docs/script/images/logo/script-64.png", "name": "Demo Google Workspace Add-on", "openLinkUrlPrefixes": [ "https://mail.google.com/", "https://script.google.com/a/google.com/d/", "https://drive.google.com/a/google.com/file/d/", "https://www.example.com/" ], "universalActions": [{ "label": "Open settings", "runFunction": "getSettingsCard" }, { "label": "Open Help URL", "openLink": "https://www.example.com/help" }], "useLocaleFromApp": true }, "drive": { "homepageTrigger": { "runFunction": "onDriveHomePageOpen", "enabled": true }, "onItemsSelectedTrigger": { "runFunction": "onDriveItemsSelected" } }, "gmail": { "composeTrigger": { "selectActions": [ { "text": "Add images to email", "runFunction": "getInsertImageComposeCards" } ], "draftAccess": "METADATA" }, "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "onGmailMessageOpen" } ] }, "docs": { "homepageTrigger": { "runFunction": "onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "onFileScopeGrantedEditors" }, "linkPreviewTriggers": [ { "runFunction": "onLinkPreview", "patterns": [ { "hostPattern": "example.com", "pathPrefix": "example-path" } ], "labelText": "Link preview", "localizedLabelText": { "es": "Link preview localized in Spanish" }, "logoUrl": "https://www.example.com/images/smart-chip-icon.png" } ], "createActionTriggers": [ { "id": "exampleId", "labelText": "Example label text", "localizedLabelText": { "es": "Label text localized in Spanish" }, "runFunction": "exampleFunction", "logoUrl": "https://www.example.com/images/case.png" } ] }, "sheets": { "homepageTrigger": { "runFunction": "onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "onFileScopeGrantedEditors" } }, "slides": { "homepageTrigger": { "runFunction": "onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "onFileScopeGrantedEditors" } } }, "oauthScopes": [ "https://www.googleapis.com/auth/calendar.addons.execute", "https://www.googleapis.com/auth/calendar.addons.current.event.read", "https://www.googleapis.com/auth/calendar.addons.current.event.write", "https://www.googleapis.com/auth/drive.addons.metadata.readonly", "https://www.googleapis.com/auth/gmail.addons.current.action.compose", "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/script.locale", "https://www.googleapis.com/auth/script.scriptapp", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/documents.currentonly", "https://www.googleapis.com/auth/spreadsheets.currentonly", "https://www.googleapis.com/auth/presentations.currentonly", "https://www.googleapis.com/auth/workspace.linkpreview" ], "urlFetchWhitelist": [ "https://www.example.com/myendpoint/" ] }
HTTP
{ "addOns": { "calendar": { "currentEventAccess": "READ_WRITE", "eventOpenTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onCalendarEventOpen" }, "eventUpdateTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onCalendarEventUpdate" }, "eventAttachmentTrigger": { "label": "My Event Attachment", "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onCalendarEventAddAttachment" }, "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onCalendarHomePageOpen", "enabled": true } }, "common": { "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onDefaultHomePageOpen", "enabled": true }, "layoutProperties": { "primaryColor": "#ff392b", "secondaryColor": "#d68617" }, "logoUrl": "https://ssl.gstatic.com/docs/script/images/logo/script-64.png", "name": "Demo Google Workspace Add-on", "openLinkUrlPrefixes": [ "https://mail.google.com/", "https://script.google.com/a/google.com/d/", "https://drive.google.com/a/google.com/file/d/", "https://www.example.com/" ], "universalActions": [{ "label": "Open settings", "runFunction": "https://myownpersonaldomain.com/mypage?trigger=getSettingsCard" }, { "label": "Open Help URL", "openLink": "https://www.example.com/help" }], "useLocaleFromApp": true }, "drive": { "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onDriveHomePageOpen", "enabled": true }, "onItemsSelectedTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onDriveItemsSelected" } }, "gmail": { "composeTrigger": { "actions": [ { "label": "Add images to email", "runFunction": "https://myownpersonaldomain.com/mypage?trigger=getInsertImageComposeCards" } ], "draftAccess": "METADATA" }, "contextualTriggers": [ { "unconditional": {}, "onTriggerFunction": "https://myownpersonaldomain.com/mypage?trigger=onGmailMessageOpen" } ] }, "docs": { "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onFileScopeGrantedEditors" }, "linkPreviewTriggers": [ { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onLinkPreview", "patterns": [ { "hostPattern": "example.com", "pathPrefix": "example-path" } ], "labelText": "Link preview", "localizedLabelText": { "es": "Link preview localized in Spanish" }, "logoUrl": "https://www.example.com/images/smart-chip-icon.png" } ], "createActionTriggers": [ { "id": "exampleId", "labelText": "Example label text", "localizedLabelText": { "es": "Label text localized in Spanish" }, "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onCreateAction", "logoUrl": "https://www.example.com/images/case.png" } ] }, "sheets": { "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onFileScopeGrantedEditors" } }, "slides": { "homepageTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onEditorsHomepage" }, "onFileScopeGrantedTrigger": { "runFunction": "https://myownpersonaldomain.com/mypage?trigger=onFileScopeGrantedEditors" } } }, "oauthScopes": [ "https://www.googleapis.com/auth/calendar.addons.execute", "https://www.googleapis.com/auth/calendar.addons.current.event.read", "https://www.googleapis.com/auth/calendar.addons.current.event.write", "https://www.googleapis.com/auth/drive.addons.metadata.readonly", "https://www.googleapis.com/auth/gmail.addons.current.action.compose", "https://www.googleapis.com/auth/gmail.addons.current.message.metadata", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/script.locale", "https://www.googleapis.com/auth/script.scriptapp", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/documents.currentonly", "https://www.googleapis.com/auth/spreadsheets.currentonly", "https://www.googleapis.com/auth/presentations.currentonly", "https://www.googleapis.com/auth/workspace.linkpreview" ] }
URL'leri izin verilenler listesi
Erişim için önceden onaylanmış belirli URL'leri belirtmek üzere izin verilenler listeleri kullanırsınız komut dosyanız veya eklentiniz tarafından belirlenir. İzin verilenler listeleri kullanıcının korunmasına yardımcı olur data; Bir izin verilenler listesi tanımladığınızda, komut dosyası projeleri izin verilenler listesine eklenmemiş.
Bu alan, bir test dağıtımı yüklediğinizde isteğe bağlıdır ancak sürümlü bir dağıtım oluşturmanız gerekir.
Komut dosyanız veya eklentiniz performans gösterdiğinde izin verilenler listelerini kullanırsınız şu işlemleri yapabilirsiniz:
- Harici bir konumdan (HTTPS gibi) bilgi getirir veya getirir
uç noktaları) Apps Komut Dosyası'nı
UrlFetch
kullanarak geliştirmenizi sağlar. Getirmek üzere URL'leri izin verilenler listesine eklemek için manifest dosyanızaurlFetchWhitelist
alanını ekleyin. - Kullanıcı işlemine yanıt olarak bir URL açar veya görüntüler (
Kuruluş dışı olan ve görünen URL'leri açan veya görünen Google Workspace Eklentileri
Google). URL'leri açmak üzere izin verilenler listesine eklemek için
addOns.common.openLinkUrlPrefixes
manifest dosyası olarak kaydedin.
İzin verilenler listenize ön ek ekleme
Manifest dosyanızda izin verilenler listeleri belirttiğinizde (
addOns.common.openLinkUrlPrefixes
veya urlFetchWhitelist
alanı)
URL öneklerinin bir listesini içerir. Manifest'e eklediğiniz ön ekler
aşağıdaki şartları karşılamanız gerekir:
- Her önek geçerli bir URL olmalıdır.
- Her ön ek için
http://
değil,https://
kullanılmalıdır. - Her önek, tam alan adına sahip olmalıdır.
- Her ön ekin boş olmayan bir yolu olmalıdır. Örneğin,
https://www.google.com/
geçerlidir, ancakhttps://www.google.com
geçerli değil. - URL alt alan adı öneklerini eşleştirmek için joker karakterler kullanabilirsiniz.
*
addOns.common.openLinkUrlPrefixes
alanını tüm bağlantıları eşleştirmek için kullanabilirsiniz, ancak kullanıcı verilerini riske atabilir ve eklenti incelemesi süreci. Yalnızca Eklenti işlevselliğiniz gerektiriyorsa joker karakter kullanın.
Bir URL'nin izin verilenler listesindeki bir önekle eşleşip eşleşmediğini belirlerken aşağıdaki kurallar uygulayın:
- Yol eşleştirme büyük/küçük harfe duyarlıdır.
- Önek, URL ile aynıysa eşleşmedir.
- URL, ön ekin aynı veya bir alt öğesiyse eşleşmedir.
Örneğin, https://example.com/foo
öneki aşağıdaki URL'lerle eşleşir:
https://example.com/foo
https://example.com/foo/
https://example.com/foo/bar
https://example.com/foo?bar
https://example.com/foo#bar
Joker karakter kullanma
Hem*
urlFetchWhitelist
ve addOns.common.openLinkUrlPrefixes
alanları. Birden çok alt alan adını eşleştirmek için birden fazla joker karakter kullanamazsınız ve
joker karakter, URL'nin ön ekini temsil etmelidir.
Örneğin, https://*.example.com/foo
öneki şuyla eşleşir:
URL'ler:
https://subdomain.example.com/foo
https://any.number.of.subdomains.example.com/foo
https://*.example.com/foo
öneki aşağıdakiyle eşleşmez
URL'ler:
https://subdomain.example.com/bar
(sonek uyuşmazlığı)https://example.com/foo
(en az bir alt alan adı olmalıdır)
Manifest dosyanızı kaydetmeye çalışırken önek kurallarından bazıları zorunlu kılınır. Örneğin, aşağıdaki ön eklerle başlayan önekler, manifest'ini kullanabilirsiniz:
https://*.*.example.com/foo
(birden fazla joker karakter kullanılamaz)https://subdomain.*.example.com/foo
. (baştaki önek olarak joker karakterler kullanılmalıdır)