返回

轻松解锁 Google Ads API OAuth 2.0 访问令牌生成

开发工具

使用 OAuth 2.0 访问 Google Ads API:分步指南

作为数字营销人员或开发者,充分利用 Google Ads API 的强大功能至关重要。而访问和操作 Google Ads 帐户的关键在于生成令牌。在这篇全面的教程中,我们将引导您完成使用 OAuth 2.0 来获得令牌的分步过程,让您踏上解锁 Google Ads API 潜力的旅程。

第一步:准备好 OAuth 2.0 必需品

为了开始,您需要收集以下 OAuth 2.0 信息:

  • Client ID: 用于识别您的应用程序的字符串。
  • Client Secret: 您的应用程序用于生成令牌的机密字符串。
  • Redirect URI: 授权后重定向到的 URL。
  • Scope: 您希望使用令牌执行的 Google Ads API 操作列表。

第二步:创建 OAuth 2.0 客户端

现在,前往 Google API 控制台创建新的 OAuth 2.0 客户端。指定 "Desktop" 应用程序类型,填写您的应用程序名称和域。输入授权回调 URL(您的 Redirect URI),然后单击 "Create Client" 按钮。

第三步:获取授权代码

接下来,将用户重定向到 Google 的授权页面。该 URL 将包含您的 Client ID、Redirect URI 和 Scope。用户将被要求授予您的应用程序访问其 Google Ads 帐户的权限。成功后,他们将被重定向回您的 Redirect URI,其中包含一个名为 "code" 的参数。

第四步:交换授权代码以获取访问令牌和刷新令牌

使用您的 Client ID、Client Secret 和授权代码向指定 URL 发出 POST 请求。请求主体应包含以下参数:

code=<AUTHORIZATION_CODE>
client_id=<YOUR_CLIENT_ID>
client_secret=<YOUR_CLIENT_SECRET>
redirect_uri=<YOUR_REDIRECT_URI>
grant_type=authorization_code

成功的请求将返回包含访问令牌和刷新令牌的 JSON 响应。

第五步:使用访问令牌调用 Google Ads API

最后,在请求标头中包含您的访问令牌,即可调用 Google Ads API。每次调用 API 时,都必须包含访问令牌。如果令牌过期,可以使用刷新令牌获取新的令牌。

代码示例

JavaScript

// Imports the Google Auth library
const {GoogleAuth} = require('google-auth-library');

// Creates a client using your Client ID and Client Secret
const client = new GoogleAuth({
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  redirectUri: 'YOUR_REDIRECT_URI',
  scopes: ['https://www.googleapis.com/auth/adwords']
});

// Generates an OAuth2 URL to redirect the user to for authorization
const url = client.generateAuthUrl({
  access_type: 'offline',
  prompt: 'consent',
});

// Exchanges an authorization code for an access token and refresh token
const getToken = async (authCode) => {
  try {
    const token = await client.getToken(authCode);
    console.log(token);
  } catch (err) {
    console.error(err);
  }
};

getToken('YOUR_AUTH_CODE');

Python

from google.oauth2 import flow

# Creates a flow object
flow = flow.InstalledAppFlow.from_client_secrets_file('client_secrets.json',
                                                        scopes=['https://www.googleapis.com/auth/adwords'])

# Generates an authorization URL
auth_url, _ = flow.authorization_url(prompt='consent')

# Exchanges an authorization code for an access token and refresh token
def getToken(authCode):
  flow.fetch_token(authorization_response=authCode)
  credentials = flow.credentials

getToken('YOUR_AUTH_CODE')

常见问题解答

  1. 如何处理过期的访问令牌?

    • 使用刷新令牌获取新访问令牌。
  2. 我需要做什么才能将访问令牌用于 API 调用?

    • 在请求标头中包含令牌。
  3. 为什么我的授权代码无效?

    • 授权代码在 10 分钟后过期。
  4. 生成令牌时出现 "invalid_grant" 错误怎么办?

    • 检查您的 Client ID、Client Secret 和 Redirect URI 是否正确。
  5. 使用 Google Ads API 的最佳做法是什么?

    • 使用刷新令牌处理过期的访问令牌。
    • 为每次 API 调用使用不同的令牌。
    • 定期轮换您的 Client Secret。

通过遵循这些步骤和实施最佳实践,您可以自信地生成令牌,从而访问 Google Ads API 的强大功能。掌握 OAuth 2.0 流程将为您的数字营销策略开辟新的可能性。