[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eGoogle OAuth clients using sensitive scopes require verification, impacting Apps Script projects that access user data.\u003c/p\u003e\n"],["\u003cp\u003eUnverified apps display a warning screen to external users, limiting usage and requiring explicit user consent.\u003c/p\u003e\n"],["\u003cp\u003eVerification involves providing app details, a privacy policy, and authorized domains, ensuring user trust and removing limitations.\u003c/p\u003e\n"],["\u003cp\u003eApps Script projects can request verification through their associated Google Cloud project to gain user confidence and bypass usage restrictions.\u003c/p\u003e\n"],["\u003cp\u003eVerification is not necessary for Apps Script projects exclusively used within the same Google Workspace domain.\u003c/p\u003e\n"]]],[],null,["# OAuth Client Verification\n\n**Google OAuth clients that request certain sensitive OAuth scopes are\nsubject to verification by Google.**\n| **Note:** Verification is **not required** for Apps Script projects whose owner and users belong to the same Google Workspace domain or customer.\n\nIf you don't verify your script project's OAuth client, users outside your\ndomain see an *unverified app* screen when they try to authorize your script.\nAn *unverified authorization flow* allows these users to authorize unverified\napps and use them, but only after confirming they understand the risks. The\ntotal number of unverified app users is also capped.\n\nFor more information, see the following articles:\n\n- [Unverified Apps](https://support.google.com/cloud/answer/7454865)\n- [OAuth Application Verification FAQ](https://support.google.com/cloud/answer/9110914)\n- [Google API Services: User Data Policy](/terms/api-services-user-data-policy)\n\n**Figure 1**: Unverified app screen \n**Figure 2**: Unverified app authorization flow\n\nThis change applies to Google OAuth web clients, including those used by all\nApps Script projects. By\n[verifying your app with Google](#requesting_verification),\nyou can remove the unverified app screen from your authorization flow and\ngive your users confidence that your app is non-malicious.\n\nUnverified apps\n---------------\n\nAdd-ons, web apps, and other deployments (such as apps that use the\n[Apps Script API](/apps-script/api)) may need verification.\n| **Note:** Add-ons are no longer verified as part of the [add-on review process](/workspace/add-ons/concepts/gmail-addon-review), and must be verified prior to publishing an add-on.\n\n### Applicability\n\nIf the app uses sensitive OAuth scopes, the unverified app screen may appear\nas part of the authorization flow. Its presence (and the resulting unverified\napp authorization flow) depends on what account the app is published from and\nwhat account is attempting to use the app. For example, apps published\ninternally within a specific Google Workspace organization don't result in the\nunverified app authorization flow for accounts in that domain, even if the app\nhasn't been verified.\n\nThe following table illustrates what situations result in the unverified app\nauthorization flow:\n\n| | Client is verified | Publisher is a Google Workspace account of customer A | Script is in a shared drive of customer A | Publisher is a Gmail account |\n|------------------------------------------------------|--------------------|-------------------------------------------------------|-------------------------------------------|------------------------------|\n| User is a Google Workspace account of customer A | Normal auth flow | Normal auth flow | Normal auth flow | ***Unverified auth flow*** |\n| User is a Google Workspace account not of customer A | Normal auth flow | ***Unverified auth flow*** | ***Unverified auth flow*** | ***Unverified auth flow*** |\n| User is a Gmail account[**^1^**](#note1) | Normal auth flow | ***Unverified auth flow*** | ***Unverified auth flow*** | ***Unverified auth flow*** |\n\n**^1^**Any Gmail account, including the account used to\npublish the app.\n\n### User cap\n\nThe number of users who can authorize an app via the unverified app flow is\ncapped to limit possible abuse. See\n[OAuth application user limits](https://support.google.com/cloud/answer/9028764)\nfor details.\n\nRequesting verification\n-----------------------\n\nYou can request a verification of the OAuth client used by your app and its\nassociated [Cloud Platform (GCP) project](/apps-script/guides/cloud-platform-projects).\nOnce your app is verified, your users will no longer see the unverified app\nscreen. In addition, your app will no longer be subject to the\n[user cap](#user_cap).\n\n### Requirements\n\nIn order to submit your OAuth client for verification, you must satisfy the\nfollowing requirements:\n\n1. You must own a web site on a domain. The site must host publicly-accessible\n pages that describe your app and its privacy policy. You must also\n [verify your ownership of the site with Google](https://support.google.com/webmasters/answer/9008080?ref_topic=7440006).\n\n | **Note:** You do not need to publish your app from an account in this domain, but the domain owner must be an editor or owner of the script project.\n2. The [Google Cloud project](/apps-script/guides/cloud-platform-projects)\n your script project uses must be a\n [standard Google Cloud project](/apps-script/guides/cloud-platform-projects#standard_cloud_platform_projects)\n that you have edit access for. If your script is using its default Google Cloud project, you must\n [switch to a standard Google Cloud project](/apps-script/guides/cloud-platform-projects#switching_to_a_different_standard_gcp_project).\n\nIn addition, you must have the following **required** assets:\n\n- **Application name** . The name of the app; this is displayed on the consent screen. It should match the name used for the app in other locations, such as the [Google Workspace Marketplace](/workspace/marketplace) listing for published apps.\n- **Application logo**. A app logo JPEG, PNG, or BMP image to use in the consent screen. Its file size must be 1MB or less.\n- **Support email**. This is an email displayed on the consent screen for users to contact if they need app support. It can be your email address or a Google Group that you own or manage.\n- **Scopes** . The list of all the [scopes](/apps-script/concepts/scopes) your app uses. You can [view your scopes](/apps-script/concepts/scopes#viewing_scopes) in the Apps Script editor.\n- **Authorized domains**. This is a list of domains containing information about your app. All your application's links (such as its required privacy policy page) must be hosted on authorized domains.\n- **Application homepage URL**. The location of a homepage describing your app. This location must hosted on an authorized domain.\n- **Application privacy policy URL**. The location of a page describing your app's privacy policy. This location must be hosted on an authorized domain.\n\nIn addition to the above required assets, you can optionally provide an\n**Application terms of service URL** that points to a page describing your\napp's terms of service. If provided, this location must be in an authorized\ndomain.\n\n### Steps\n\n1. If you have not done so already, [verify ownership of all the authorized domains](https://support.google.com/webmasters/answer/9008080?ref_topic=7440006) you use to host your script project's privacy policy and other information. The verified owners of the domains must be editors or the owner of the script project.\n2. In the Apps Script project, click **Overview** info_outline. Under **Project OAuth Scopes**, copy the scopes that your script project uses.\n3. [Complete the OAuth consent screen for your application's\n Google Cloud project](/apps-script/guides/cloud-platform-projects#completing_the_oauth_consent_screen)\n using the text and URL assets you collected.\n\n 1. List the **Authorized domains** where your app's information (such as its privacy policy) are hosted.\n 2. To add your application scopes, click **Add or Remove Scopes** . The\n resulting dialog attempts to autodetect scopes for APIs you've enabled\n in the Google Cloud console (such as\n [advanced services](/apps-script/guides/services/advanced)). You can\n select scopes from this list by checking the corresponding boxes.\n\n This autodetected list doesn't always include scopes used by\n Apps Script [built-in services](/apps-script/guides/services).\n You must enter these scopes under **Manually add scopes**.\n\n When you're done, click **Update**.\n4. When you've entered all the required information, click **Save**.\n\n5. Click **Submit for verification** to start a verification request.\n\nMost verification requests receive a response within 24 to 72 hours.\nYou can check the **Verification status** at the top of the OAuth consent\nscreen form. When verification of your OAuth client is confirmed, your app is\nverified.\n| **Note:** If your app is verified and later you decide to [switch to another Google Cloud project](/apps-script/guides/cloud-platform-projects#switching_to_a_different_standard_gcp_project), you must repeat these steps to keep the app verified."]]