OAuth Service Account Flow
Stay organized with collections
Save and categorize content based on your preferences.
This guide will walk you through how to setup OAuth2 for API access using your
own credentials using service accounts.
These steps only need to be done once, unless you revoke or delete your OAuth2
credentials.
Create OAuth2 credentials
Generate a service account ID and a *.JSON
file by
following the linked instructions, then come back to this page.
Set up client library with JSON file
Configure the following keys in your App.config / Web.config
. See the
configuration guide for additional
details.
<add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
<add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
<!-- Supply the email address of the user to impersonate if using impersonation. -->
<add key="OAuth2PrnEmail" value="INSERT_OAUTH2_USER_EMAIL_HERE" />
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-25 UTC.
[null,null,["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eThe Google Ads API client library for .NET will no longer support .NET 5.0 starting with version 19.0.0, and upgrading before the end of 2024 is recommended.\u003c/p\u003e\n"],["\u003cp\u003eThis guide explains how to set up OAuth2 for API access using service accounts, requiring a Google Workspace domain and domain-wide delegation access granted to the service account.\u003c/p\u003e\n"],["\u003cp\u003eUsers need to generate a service account ID and JSON file before proceeding with client library configuration.\u003c/p\u003e\n"],["\u003cp\u003eConfiguration involves setting keys in \u003ccode\u003eApp.config\u003c/code\u003e or \u003ccode\u003eWeb.config\u003c/code\u003e, including OAuth2Mode, OAuth2SecretsJsonPath, and OAuth2PrnEmail.\u003c/p\u003e\n"]]],[],null,["# OAuth Service Account Flow\n\nThis guide will walk you through how to setup OAuth2 for API access using your\nown credentials using [service accounts](/google-ads/api/docs/oauth/service-accounts).\nThese steps only need to be done once, unless you revoke or delete your OAuth2\ncredentials.\n\nCreate OAuth2 credentials\n-------------------------\n\n[Generate a **service account ID and a \\*.JSON\nfile**](/google-ads/api/docs/oauth/service-accounts#service_account_access_setup) by\nfollowing the linked instructions, then come back to this page.\n\nSet up client library with JSON file\n------------------------------------\n\nConfigure the following keys in your `App.config / Web.config`. See the\n[configuration guide](/google-ads/api/docs/client-libs/dotnet/configuration) for additional\ndetails. \n\n \u003cadd key=\"OAuth2Mode\" value=\"SERVICE_ACCOUNT\" /\u003e\n \u003cadd key=\"OAuth2SecretsJsonPath\" value=\"INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE\" /\u003e\n\n \u003c!-- Supply the email address of the user to impersonate if using impersonation. --\u003e\n \u003cadd key=\"OAuth2PrnEmail\" value=\"INSERT_OAUTH2_USER_EMAIL_HERE\" /\u003e"]]