influxdata/influxdb-gds-connector

Publish connector as a Partner connector

bednar opened this issue · 12 comments

Partner Connector requirements

https://developers.google.com/datastudio/connector/pscc-requirements

Apps Script

  1. Share view access of your Apps Script project with both of these addresses:
  2. Create a deployment named Production and update the Production deployment to contain the version of code you want to publish.
  3. If you have updated your code since creating the Production deployment, ensure that the correct version of the code is selected for the deployment before you submit your connector.

Manifest

You must include the following in your connector's manifest. View manifest reference for more information about each property in manifest.

  1. In description, make sure you provide all information and instructions necessary to have a basic understanding of the connector and how to use it. Connectors with vague and incomplete descriptions will be rejected during review.
  2. addOnUrl should be a dedicated hosted page about your connector, preferably hosted on your own domain.
    • This page must contain or link to your Privacy Policy and Terms of Use hosted on the same domain as the addOnUrl (see examples: https://supermetrics.com/privacy-policy, https://supermetrics.com/terms-of-service).
    • This page should contain any details the user will need to know to use your connector.
    • If users need to sign up for an account to use your connector, the sign up link should be available from this page.
    • The page cannot be hosted at https://sites.google.com/.
    • See example pages from existing partners: Funnel, Supermetrics, CallRail.
  3. supportUrl should be a hosted page where users can go to get support for your connector. This cannot be an email or mailto link.
  4. You should populate the sources property with all the sources your connector connects to. See Sources in Manifest reference for details.
    • You can view the existing list of sources at our Data Registry Repository. If the source you are connecting to does not exist in the repository, send a pull request to the Data Registry Repository to add the source. Your connector will fail the review process if the sources in your manifest do not exist in the repository.
    • This is additional metadata for the connector that will be indexed for search feature in the gallery. You connector will show up in the search results when users search for a specific data source in the gallery.
    • The gallery will let users discover connectors by data sources by providing a Connectors by Data Source interface.
  5. You should limit the number of endpoints called by UrlFetchApp in your connector to those absolutely required for connector functionality. Add the urlFetchWhitelist property to the root level of your manifest. View the urlFetchWhitelist reference for more info.
    • This property should contain all URLs your connector connects to using the UrlFetchApp call.
    • If your connector does not execute a UrlFetchApp call then set the property value to an empty list [].
    • If your connector does not connect to a fixed domain or the endpoint prefix varies, omit the urlFetchWhitelist property in the manifest.
  6. Manifest should contain values for
    • shortDescription
    • authType
    • feeType
    • privacyPolicyUrl
    • termsOfServiceUrl
  7. Connector name should be directly representative of what the connector specifically does. This makes it clear what the connector does and helps the user to identify the correct connector for their need.

Template and report

  1. If you connector has a fixed schema, create a report template for your connector and add it to the manifest. Enable Sharing by link for the report.
  2. Create at least one demo report using your connector and submit the report to Data Studio gallery. This report can be a replica of your template report or a separate report that displays even broader functionalities of your connector.
    • Adding the demo reports makes your connector eligible for promotional opportunities (getting featured, mentions in newsletters and blog posts, case studies etc).

Connector

  1. 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.
  2. 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.
  3. Provide meaningful and actionable error messages to users when users encounter a Connector internal error. This includes cases when a user provides invalid/blank input at configuration.
  4. You connector's shortDescription, description, addOnUrl link, supportUrl link, and OAuth page (if applicable) should be free of spelling and grammatical errors.
  5. Use appropriate authentication method in getAuthType(). Do not request credentials via getConfig().
  6. Complete the OAuth Client Verification process. The verification is mandatory for all connectors regardless of the authentication method in getAuthType(). The verification process is handled by a separate team. Consult the OAuth API Verification FAQ for more info on this. Your connector will not be published if the OAuth Client Verification process is not completed.
    • During the OAuth verification process, add your connector's required OAuth scopes 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. This will cause the Partner Connector verification process to fail.
      Authorize and test your connector using a new account after passing the OAuth verification process to ensure that Unverified app screen is not displayed to your users.
  7. Ensure you adhere to the Data Studio Galleries Terms of Service (Submitter).

OpenEnded Questions

  1. Which Google account we will use to publish the connector?
  2. Could be a Github repository the home page of connector, or it should be a page on www.influxdata.com?
  3. What will be a demo report that will be submitted into Data Studio gallery? Could we use COVID-19 report from examples?

TODO

  1. Move GitHub repository to InfluxData organization
  2. Create Privacy Policy doc
  3. Create Terms of Use doc
  4. Complete OAuth Client Verification

Publish to verification process

Publish your Partner Connector

I have opened an issue with the marketing team to get the page created.

Thanks @russorat, appsscript.json is updated to the new marketing page and I will continue with OAuth Client Verification process.

The next step is OAuth Client verification - verifying OAuth scopes of our Google Apps Script. By verifying we can remove the unverified app screen from authorization flow.

The script requires only one scope: https://www.googleapis.com/auth/script.external_request - make request to external sources.

Unverified script flow:

unverified-app-ui

Requirements for InfluxData:

  1. Create a standard Google Cloud Project in InfluxData organization.
  2. Fill required assets in APIs & Services > OAuth consent screen
  3. Verify ownership of the authorized domain with Google - the domain owner must be an editor or owner of the project.
  4. Add jakub.bednar@gmail.com as en editor of the project.

Next steps:

  1. Set Google Cloud Project to connector script
  2. Submit to OAuth Verification

I've completed the items checked off above. Let me know if you need anything further!

@tkyocum thanks a lot

I've set the GCP project to connector script and sent OAuth consent screen to verification:

Screenshot 2020-07-29 at 15 16 27

I hope that We will receive response in within 24 to 72 hours as is described here: https://developers.google.com/apps-script/guides/client-verification

Hi @tkyocum,

Google denied our request to verification, but without detail:

Screenshot 2020-07-30 at 07 46 00

Maybe there is a problem with verification of influxdata.com

  • Is the influxdata.com website verified through Search Console?
  • Is a "owner" of influxdata.com a Project Owner or a Project Editor for our GCP project?

Screenshot 2020-07-30 at 07 38 55

@tkyocum ok, thanks

I have created App Demonstration Video for approval purpose: https://www.youtube.com/watch?v=H-UD3myhvGU

The OAuth Client Verification process has been done:

image

Next step is create the demo report and submit the report to Data Studio gallery.