این صفحه نحوه ساخت افزونهای برای Google Workspace را توضیح میدهد که به کاربران Google Docs، Sheets و Slides اجازه میدهد لینکهای یک سرویس شخص ثالث را پیشنمایش کنند.
یک افزونهی Google Workspace میتواند لینکهای سرویس شما را شناسایی کرده و کاربران را به پیشنمایش آنها ترغیب کند. میتوانید افزونهای را برای پیشنمایش چندین الگوی URL، مانند لینکهای مربوط به موارد پشتیبانی، سرنخهای فروش و پروفایلهای کارمندان، پیکربندی کنید.
نحوه پیشنمایش لینکها توسط کاربران
برای پیشنمایش لینکها، کاربران با تراشهها و کارتهای هوشمند تعامل دارند.
وقتی کاربران یک URL را در یک سند یا صفحه گسترده تایپ یا پیست میکنند، Google Docs یا Google Sheets از آنها میخواهد که لینک را با یک تراشه هوشمند جایگزین کنند. تراشه هوشمند یک آیکون و عنوان یا توضیح کوتاهی از محتوای لینک را نمایش میدهد. وقتی کاربر ماوس را روی تراشه نگه میدارد، یک رابط کارتی میبیند که اطلاعات بیشتری در مورد فایل یا لینک را پیشنمایش میدهد.
ویدیوی زیر نشان میدهد که چگونه یک کاربر یک لینک را به یک تراشه هوشمند تبدیل میکند و پیشنمایشی از یک کارت را مشاهده میکند:
نحوه پیشنمایش لینکها در اسلایدها توسط کاربران
تراشههای هوشمند شخص ثالث برای پیشنمایش لینکها در اسلایدها پشتیبانی نمیشوند. وقتی کاربران یک URL را در یک ارائه تایپ یا پیست میکنند، اسلایدها از آنها میخواهند که به جای یک تراشه، عنوان لینک را به صورت متن لینکشده جایگزین کنند. وقتی کاربر ماوس را روی عنوان لینک نگه میدارد، یک رابط کارتی میبیند که اطلاعات مربوط به لینک را پیشنمایش میکند.
تصویر زیر نحوه نمایش پیشنمایش لینک در اسلایدها را نشان میدهد:

پیشنیازها
اسکریپت برنامهها
- یک حساب کاربری گوگل ورک اسپیس .
- یک افزونهی Google Workspace. برای ساخت یک افزونه، این راهنمای سریع را دنبال کنید.
نود جی اس
- یک حساب کاربری گوگل ورک اسپیس .
- یک افزونهی Google Workspace. برای ساخت یک افزونه، این راهنمای سریع را دنبال کنید.
پایتون
- یک حساب کاربری گوگل ورک اسپیس .
- یک افزونهی Google Workspace. برای ساخت یک افزونه، این راهنمای سریع را دنبال کنید.
جاوا
- یک حساب کاربری گوگل ورک اسپیس .
- یک افزونهی Google Workspace. برای ساخت یک افزونه، این راهنمای سریع را دنبال کنید.
اختیاری: تنظیم احراز هویت برای یک سرویس شخص ثالث
اگر افزونه شما به سرویسی متصل شود که نیاز به مجوز دارد، کاربران برای پیشنمایش لینکها باید در سرویس احراز هویت شوند. این بدان معناست که وقتی کاربران برای اولین بار لینکی از سرویس شما را در یک فایل Docs، Sheets یا Slides قرار میدهند، افزونه شما باید جریان مجوز را فراخوانی کند.
برای تنظیم سرویس OAuth یا درخواست مجوز سفارشی، به بخش «افزونه خود را به یک سرویس شخص ثالث متصل کنید» مراجعه کنید.
پیشنمایش لینکها را برای افزونه خود تنظیم کنید
این بخش نحوه تنظیم پیشنمایش لینکها برای افزونه شما را توضیح میدهد که شامل مراحل زیر است:
- پیشنمایش لینکها را در مانیفست افزونه خود پیکربندی کنید .
- رابط تراشه و کارت هوشمند را برای لینکهای خود بسازید .
پیکربندی پیشنمایش لینکها
برای پیکربندی پیشنمایش لینکها، بخشها و فیلدهای زیر را در مانیفست افزونه خود مشخص کنید:
- در بخش
addOns، فیلدdocsرا برای بسط Docs، فیلدsheetsرا برای بسط Sheets و فیلدslidesرا برای بسط Slides اضافه کنید. در هر فیلد، تریگر
linkPreviewTriggersرا که شامل یکrunFunctionاست، پیادهسازی کنید (این تابع را در بخش بعدی، ساخت تراشه و کارت هوشمند ، تعریف میکنید).برای کسب اطلاعات در مورد اینکه چه فیلدهایی را میتوانید در تریگر
linkPreviewTriggersمشخص کنید، به مستندات مرجع برای Apps Script manifests یا منابع استقرار برای سایر runtimes مراجعه کنید.در فیلد
oauthScopes، محدودهیhttps://www.googleapis.com/auth/workspace.linkpreviewرا اضافه کنید تا کاربران بتوانند افزونه را برای پیشنمایش لینکها از طرف خود مجاز کنند.
به عنوان مثال، به بخش oauthScopes و addons مانیفست زیر که پیشنمایشهای لینک را برای یک سرویس مورد پشتیبانی پیکربندی میکند، مراجعه کنید.
{
"oauthScopes": [
"https://www.googleapis.com/auth/workspace.linkpreview"
],
"addOns": {
"common": {
"name": "Preview support cases",
"logoUrl": "https://www.example.com/images/company-logo.png",
"layoutProperties": {
"primaryColor": "#dd4b39"
}
},
"docs": {
"linkPreviewTriggers": [
{
"runFunction": "caseLinkPreview",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"logoUrl": "https://www.example.com/images/support-icon.png",
"localizedLabelText": {
"es": "Caso de soporte"
}
}
]
},
"sheets": {
"linkPreviewTriggers": [
{
"runFunction": "caseLinkPreview",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"logoUrl": "https://www.example.com/images/support-icon.png",
"localizedLabelText": {
"es": "Caso de soporte"
}
}
]
},
"slides": {
"linkPreviewTriggers": [
{
"runFunction": "caseLinkPreview",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"logoUrl": "https://www.example.com/images/support-icon.png",
"localizedLabelText": {
"es": "Caso de soporte"
}
}
]
}
}
}
در مثال، افزونهی Google Workspace پیشنمایشی از لینکهای مربوط به سرویس پروندهی پشتیبانی یک شرکت را نمایش میدهد. این افزونه سه الگوی URL را برای پیشنمایش لینکها مشخص میکند. هر زمان که لینکی با یکی از الگوهای URL مطابقت داشته باشد، تابع فراخوانی caseLinkPreview یک کارت و یک تراشهی هوشمند در Docs، Sheets یا Slides میسازد و نمایش میدهد و URL را با عنوان لینک جایگزین میکند.
ساخت تراشه و کارت هوشمند
برای برگرداندن یک تراشه و کارت هوشمند برای یک لینک، باید هر تابعی را که در شیء linkPreviewTriggers مشخص کردهاید، پیادهسازی کنید.
وقتی کاربری با لینکی که با الگوی URL مشخصشدهای مطابقت دارد، تعامل میکند، triggerهای linkPreviewTriggers فعال میشوند و تابع فراخوانی آن، شیء رویداد EDITOR_NAME .matchedUrl.url را به عنوان آرگومان ارسال میکند. شما از payload این شیء رویداد برای ساخت تراشه و کارت هوشمند برای پیشنمایش لینک خود استفاده میکنید.
برای مثال، اگر کاربری پیشنمایشی از لینک https://www.example.com/cases/123456 در Docs را مشاهده کند، رویداد payload زیر بازگردانده میشود:
جیسون
{ "docs": { "matchedUrl": { "url": "https://www.example.com/support/cases/123456" } } }
برای ایجاد رابط کارت، از ویجتها برای نمایش اطلاعات مربوط به لینک استفاده میکنید. همچنین میتوانید اکشنهایی بسازید که به کاربران اجازه میدهد لینک را باز کنند یا محتوای آن را تغییر دهند. برای مشاهده لیستی از ویجتها و اکشنهای موجود، به کامپوننتهای پشتیبانی شده برای کارتهای پیشنمایش مراجعه کنید.
برای ساخت تراشه و کارت هوشمند برای پیشنمایش لینک:
- تابعی را که در بخش
linkPreviewTriggersاز فایل manifest افزونه خود مشخص کردهاید، پیادهسازی کنید:- این تابع باید یک شیء رویداد حاوی
EDITOR_NAME .matchedUrl.urlرا به عنوان آرگومان بپذیرد و یک شیءCardواحد را برگرداند. - اگر سرویس شما نیاز به مجوز دارد، تابع باید جریان مجوز را نیز فراخوانی کند .
- این تابع باید یک شیء رویداد حاوی
- برای هر کارت پیشنمایش، هرگونه تابع فراخوانی که تعامل ویجت را برای رابط فراهم میکند، پیادهسازی کنید. برای مثال، اگر دکمهای با عنوان «مشاهده لینک» اضافه کنید، میتوانید عملی ایجاد کنید که یک تابع فراخوانی برای باز کردن لینک در یک پنجره جدید را مشخص کند. برای کسب اطلاعات بیشتر در مورد تعاملات ویجت، به اقدامات افزونه مراجعه کنید.
کد زیر تابع فراخوانی caseLinkPreview برای Docs ایجاد میکند:
اسکریپت برنامهها
نود جی اس
پایتون
جاوا
اجزای پشتیبانی شده برای کارتهای پیشنمایش
افزونههای Google Workspace از ابزارکها و اقدامات زیر برای کارتهای پیشنمایش لینک پشتیبانی میکنند:
اسکریپت برنامهها
| فیلد خدمات کارت | نوع |
|---|---|
TextParagraph | ویجت |
DecoratedText | ویجت |
Image | ویجت |
IconImage | ویجت |
ButtonSet | ویجت |
TextButton | ویجت |
ImageButton | ویجت |
Grid | ویجت |
Divider | ویجت |
OpenLink | اکشن |
Navigation | اکشن فقط متد updateCard پشتیبانی میشود. |
جیسون
فیلد کارت ( google.apps.card.v1 ) | نوع |
|---|---|
TextParagraph | ویجت |
DecoratedText | ویجت |
Image | ویجت |
Icon | ویجت |
ButtonList | ویجت |
Button | ویجت |
Grid | ویجت |
Divider | ویجت |
OpenLink | اکشن |
Navigation | اکشن فقط متد updateCard پشتیبانی میشود. |
مثال کامل: افزونهی مورد پشتیبانی
مثال زیر یک افزونه Google Workspace را نشان میدهد که لینکهای مربوط به پروندههای پشتیبانی یک شرکت را در Google Docs پیشنمایش میدهد.
مثال زیر موارد زیر را انجام میدهد:
- پیشنمایش پیوندهای مربوط به موارد پشتیبانی، مانند
https://www.example.com/support/cases/1234. تراشه هوشمند یک نماد پشتیبانی را نمایش میدهد و کارت پیشنمایش شامل شناسه مورد و توضیحات است. - اگر زبان کاربر روی اسپانیایی تنظیم شده باشد، تراشه هوشمند
labelTextخود را به اسپانیایی ترجمه میکند.
مانیفست
اسکریپت برنامهها
جیسون
{
"oauthScopes": [
"https://www.googleapis.com/auth/workspace.linkpreview"
],
"addOns": {
"common": {
"name": "Preview support cases",
"logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png",
"layoutProperties": {
"primaryColor": "#dd4b39"
}
},
"docs": {
"linkPreviewTriggers": [
{
"runFunction": "URL",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"localizedLabelText": {
"es": "Caso de soporte"
},
"logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
}
]
}
}
}
کد
اسکریپت برنامهها
نود جی اس
پایتون
جاوا
منابع مرتبط
- پیشنمایش لینکها از گوگل بوکز با تراشههای هوشمند
- افزونه خود را آزمایش کنید
- مانیفست گوگل داکس
- رابطهای کارت برای پیشنمایش لینکها