合作伙伴连接器要求
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
查看发布概览,了解发布连接器的优势和所需的承诺级别。要发布合作伙伴连接器,您的连接器必须满足下述所有要求。
Apps 脚本
在提交连接器以供审核之前,请在 Apps 脚本中完成以下操作:
- 与以下人员共享 Apps 脚本项目的查看权限:
- 创建名为
Production
的部署,并将 Production
部署更新为您要发布的代码版本。
- 确认您已将
Production
部署更新为您要审核的代码版本。
- 确认清单文件在 Apps 脚本中可见。点击左侧的项目设置 settings。选中在编辑器中显示“appsscript.json”清单文件复选框。
清单
在连接器的清单中添加以下内容,并确认您的 Apps 脚本项目已配置为在编辑器中显示 appsscript.json
清单文件。
如需了解详情,请参阅社区连接器清单参考。
dataStudio
description
应提供相关信息和说明,以便用户对连接器及其使用方法有基本的了解。如果连接器的说明模糊、不完整,则会遭拒。
addOnUrl
应该是关于连接器的专用托管页面,最好托管在您自己的网域中。该页面必须包含以下内容:
- 隐私权政策和使用条款或指向此内容的链接(位于
addOnUrl
所在的网域中)。
- 用户使用连接器时需要了解的详细信息。
- 注册链接(如果需要帐号才能使用连接器)。
- 最好在您的网域中托管内容。不允许在
https://sites.google.com/
上托管。
- 查看现有合作伙伴(Funnel、Supermetrics、CallRail)的示例页面。
supportUrl
应该是用于获取连接器支持的托管页面。不得为电子邮件地址或 mailto 链接。
logoUrl
应指向托管在您控件下的静态图片。您不能在 *.gstatic.com
、*.ggpht.com
、*.google.com
、*.googleusercontent.com
等网域上使用 Google 服务提供的图片。使用 Google Cloud Storage 从 *.googleapis.com
网域传送图片是可以接受的,建议您选择此托管方式。
- 带有动画图标的连接器将被拒绝。使用静态图片。
- 建议至少使用一张 48x48 像素的图片。
- 避免使用在缩小到 48x48 像素后难以阅读的纯文字图片。
- 使用连接器连接的所有来源填充
sources
属性。如需了解详情,请参阅清单参考中的来源。
- 您可以在数据注册表代码库中查看现有的来源列表。如果代码库中不存在您要连接的来源,请向数据注册表代码库发送拉取请求以添加来源。如果代码库中不存在清单中的源代码,您的连接器将无法通过审核流程。
- 这是连接器的其他元数据,会在资源库中针对搜索功能编入索引。当用户在资源库中搜索特定来源时,您的连接器将显示在搜索结果中。
- 为
shortDescription
、authType
、feeType
、privacyPolicyUrl
和 termsOfServiceUrl
提供值。
name
应直接表示连接器的用途。一个清晰的名称有助于用户确定您的连接器是否满足其需求。避免在名称中使用“连接器”一词,因为用户已经知道他们是在查看连接器。
- 请勿添加意在吸引用户注意或可能改变连接器位置的特殊字符或不可见字符。
- 请勿在清单中的任何位置(例如 GDS、DS 等)使用 Looker Studio 的简写名称。
- 任何清单字段(
description
、shortDescription
、name
等)中都不允许使用表情符号。一般来说,不要为了吸引人们注意您的连接器而添加特殊或不可见字符。
- 如果您的连接器具有固定架构,请为连接器创建报告模板并将其添加到清单中。为报告启用“通过链接共享”。
urlFetchWhitelist
- 将
UrlFetchApp
调用的端点数量限制为执行连接器功能所必需的数量。将 urlFetchWhitelist
属性添加到清单的根级别。如需了解详情,请参阅 urlFetchWhitelist 参考。
- 包含用于
UrlFetchApp
服务的所有端点。
- 如果您的连接器不使用
UrlFetchApp
服务提取资源,请将 urlFetchWhitelist
设置为空列表 []
。
- 如果您的连接器未连接到一组固定端点或端点前缀不同,请省略
urlFetchWhitelist
属性,并在提交审核请求时在 urlFetchWhitelist 表单字段中提供详细信息。
oauthScopes
- 在清单中设置明确的 OAuth 范围。没有明确 OAuth 范围的连接器将被拒绝。
连接器
- 如果用户需要账号才能使用连接器,请确保连接器
description
或 addOnUrl
链接提供了帮助用户创建账号的说明。
- 您的连接器不能处于未完成状态或测试状态。您必须发布完整并可正常运行的连接器。您可以随时更新连接器,但应测试发布给用户的生产部署版本并确保其功能完备。
- 当用户遇到连接器内部错误时,向用户提供具有实际意义且可作为操作依据的错误消息。这包括用户在配置时输入无效/空白内容的情况。
shortDescription
、description
、addOnUrl
链接、supportUrl
链接和 OAuth 页面(如果适用)不应存在拼写和语法错误。
- “
shortDescription
”不能包含网址。
- 使用
getAuthType()
提供的身份验证方法。请勿通过 getConfig()
请求凭据。
- 完成 OAuth 客户端验证流程。无论在
getAuthType()
中使用哪种身份验证方法,所有连接器都必须进行验证。此验证流程与连接器审核不同,并且由单独的团队(而不是 Looker Studio)处理。如需了解详情,请参阅 OAuth API 验证常见问题解答。如果 OAuth 客户端验证流程未完成,您的连接器将被拒绝。
- 在 OAuth 验证流程中,配置 OAuth 同意屏幕时,请添加连接器所需的 OAuth 范围。如果未能添加所有必需的范围,您可能会通过 OAuth 验证流程,但您的连接器仍将显示未验证的应用屏幕。这将导致合作伙伴连接器验证流程失败。
通过 OAuth 验证流程后,使用新帐号授权并测试您的连接器,以确保系统不会向用户显示未验证的应用屏幕。
- 确保您遵守 Looker Studio 图库服务条款(提交者)。
满足所有要求后,请点击以下按钮以请求审核您的连接器:
发布您的合作伙伴连接器
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eTo publish a Partner Connector, ensure it meets all requirements outlined for Apps Script, Manifest, and the Connector itself.\u003c/p\u003e\n"],["\u003cp\u003eBefore submitting, share view access of your Apps Script project, create a Production deployment, and confirm the manifest file is visible.\u003c/p\u003e\n"],["\u003cp\u003eThe manifest must include specific details such as description, URLs, sources, and authentication information.\u003c/p\u003e\n"],["\u003cp\u003eYour connector needs to be fully functional, handle errors gracefully, adhere to style guidelines, and complete OAuth client verification.\u003c/p\u003e\n"],["\u003cp\u003eOnce all requirements are met, submit a review request using the provided link.\u003c/p\u003e\n"]]],[],null,["# Partner Connector requirements\n\nReview the [Publishing overview](/looker-studio/connector/publish-connector) to understand the benefits and required level\nof commitment for publishing a connector. To publish a *Partner Connector*, your\nconnector must meet all of the requirements described below.\n\nApps Script\n-----------\n\nBefore submitting your connector for review, complete the following in Apps\nScript:\n\n1. [Share view access](https://support.google.com/drive/answer/2494822) of your Apps Script project with the following:\n - [data-studio-contrib-qa@googlegroups.com](mailto:data-studio-contrib-qa@googlegroups.com)\n - [data-studio-contrib@google.com](mailto:data-studio-contrib@google.com)\n2. [Create a deployment](/looker-studio/connector/deploy#create_separate_deployments) named `Production` and update the `Production` deployment to the version of code you intend to publish.\n3. Confirm that you've updated the `Production` deployment to the version of code you want reviewed.\n4. Confirm that the manifest file is visible in Apps Script. At the left, click **Project Settings** settings. Select the **Show \"appsscript.json\" manifest file in editor** checkbox.\n\nManifest\n--------\n\nInclude the following in your connector's manifest and confirm that your Apps\nScript project is configured to show the `appsscript.json` manifest file in the\neditor.\n\nView the [Community Connector manifest reference](/looker-studio/connector/manifest) for more\ninformation.\n\n### `dataStudio`\n\n1. `description` should provide information and instructions for a basic understanding of the connector and how to use it. Connectors with vague and incomplete descriptions will be rejected.\n2. `addOnUrl` should be a dedicated hosted page about your connector, preferably hosted on your own domain. The page must include the following:\n - A **Privacy Policy** and **Terms of Use** or a link to this content, on the same domain as the `addOnUrl`.\n - Details the user will need to know to use your connector.\n - The sign up link, if an account is required to use your connector,.\n - Content hosted preferably on your domain. Hosting on `https://sites.google.com/` is not allowed.\n - See example pages from existing partners: [Funnel](https://funnel.io/marketing-reporting-google-data-studio), [Supermetrics](https://supermetrics.com/product/data-studio), [CallRail](https://www.callrail.com/integrations/googledatastudio/).\n3. `supportUrl` should be a hosted page to get support for your connector. This cannot be an email or mailto link.\n4. `logoUrl` should point to a static image hosted under your control. You **cannot** use images served by Google services on domains such as `*.gstatic.com`, `*.ggpht.com`, `*.google.com`, `*.googleusercontent.com`. Using Google Cloud Storage to serve images from the `*.googleapis.com` domain is acceptable and is a recommended hosting option.\n - Connectors with animated icons will be rejected. Use static images.\n - It's recommended to use at minimum, a 48x48-pixel image.\n - Avoid text-only images that are difficult to read when scaled down to 48x48-pixels.\n5. Populate the `sources` property with all sources your connector connects to. See [Sources in Manifest reference](/looker-studio/connector/manifest#sources-ref) for details.\n - You can view the existing list of sources at [Data Registry Repository](https://github.com/googledatastudio/ds-data-registry). If the source you are connecting to does not exist in the repository, send a [pull request to the Data Registry Repository](https://github.com/googledatastudio/ds-data-registry/compare?expand=1) to add the source. **Your\n connector will fail the review process if the sources in your manifest\n do not exist in the repository.**\n - This is additional metadata for the connector that will be indexed for search feature in the gallery. Your connector will show up in the search results when users search for a specific source in the gallery.\n6. Provide values for `shortDescription`, `authType`, `feeType`, `privacyPolicyUrl`, and `termsOfServiceUrl`.\n7. `name` should directly represent the purpose of the connector. A clear name will help users determine whether your connector meets their needs. Avoid using the word *connector* in the name since users already know they are looking at a connector.\n - Do not include special or non-visible characters with the intention of drawing attention to or potentially altering the position of your connector.\n8. Do not use shorthand names for Looker Studio anywhere in the manifest (e.g. GDS, DS, etc.).\n9. Emojis are not allowed in any manifest field (`description`, `shortDescription`, `name`, etc). In general, do not include special or non-visible characters with the intention of drawing attention to your connector.\n10. If your connector has a fixed schema, [create a report template](/looker-studio/connector/report-templates#how_to_create_a_report_template) for your connector and add it to the manifest. Enable **Sharing by link** for the report. \n\n### `urlFetchWhitelist`\n\n1. Limit the number of endpoints called by `UrlFetchApp` to those absolutely required for connector functionality. Add the `urlFetchWhitelist` property to the root level of your manifest. View the [urlFetchWhitelist reference](/apps-script/manifest/allowlist-url) for more info. \n - Include all endpoints used with the `UrlFetchApp` service.\n - If your connector does not fetch resources using the `UrlFetchApp` service, set `urlFetchWhitelist` to an empty list `[]`.\n - If your connector does not connect to a set of fixed endpoints or the endpoint prefix varies, omit the `urlFetchWhitelist` property and provide details in the *Exception for urlFetchWhitelist* form field when submitting the review request.\n\n### `oauthScopes`\n\n1. [Set explicit OAuth scopes](/apps-script/concepts/scopes) in the manifest. Connectors without explicit OAuth scopes will be rejected.\n\nConnector\n---------\n\n1. If the user needs an account to use the connector, make sure the connector `description` or the `addOnUrl` link provides instructions to help the user create one.\n2. Your connector cannot be in unfinished or beta status. You have to publish a complete and functional connector. You can always update your connector but the production deployment that is released to users should be tested and feature complete.\n3. Provide meaningful and actionable error messages to users when users encounter a [Connector internal error](/looker-studio/connector/error-handling#connector-internal-error). This includes cases when a user provides invalid/blank input at configuration.\n4. `shortDescription`, `description`, `addOnUrl` link, `supportUrl` link, and OAuth page (if applicable) should be free of spelling and grammatical errors.\n5. `shortDescription` cannot contain URLs.\n6. Use authentication methods provided by `getAuthType()`. Do not request credentials via `getConfig()`. \n7. Complete the [OAuth Client Verification](/apps-script/guides/client-verification) process. The verification is mandatory for all connectors regardless of the authentication method in `getAuthType()`. The verification process is a different process from the connector review and is handled by a separate team, not Looker Studio. Consult the [OAuth API Verification FAQ](https://support.google.com/cloud/answer/9110914) for more info. **Your connector\n will be rejected if the OAuth Client Verification process is not\n completed.** \n - During the *OAuth verification process* , [add your connector's required OAuth scopes](/static/looker-studio/connector/images/scopes-for-oauth-consent-screen.png) as part of the OAuth consent screen configuration. If you fail to add *all* required scopes, you might pass the *OAuth verification process* but your connector will still show the [Unverified app screen](/static/apps-script/images/unverified2.png). This will cause the *Partner\n Connector verification process* to fail. \n Authorize and test your connector using a new account after passing the *OAuth verification process* to ensure that [Unverified app screen](/static/apps-script/images/unverified2.png) is not displayed to your users.\n8. Ensure you adhere to the [Looker Studio Galleries Terms of Service (Submitter)](https://support.google.com/looker-studio/answer/7539411?ref_topic=7156687).\n\nOnce you have met all the requirements, click the following button to request a\nreview for your connector:\n\n[Publish your\nPartner Connector](https://goo.gl/KvuMcU)"]]