轻松解锁 Google Ads API OAuth 2.0 访问令牌生成
2023-12-25 00:37:49
使用 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')
常见问题解答
-
如何处理过期的访问令牌?
- 使用刷新令牌获取新访问令牌。
-
我需要做什么才能将访问令牌用于 API 调用?
- 在请求标头中包含令牌。
-
为什么我的授权代码无效?
- 授权代码在 10 分钟后过期。
-
生成令牌时出现 "invalid_grant" 错误怎么办?
- 检查您的 Client ID、Client Secret 和 Redirect URI 是否正确。
-
使用 Google Ads API 的最佳做法是什么?
- 使用刷新令牌处理过期的访问令牌。
- 为每次 API 调用使用不同的令牌。
- 定期轮换您的 Client Secret。
通过遵循这些步骤和实施最佳实践,您可以自信地生成令牌,从而访问 Google Ads API 的强大功能。掌握 OAuth 2.0 流程将为您的数字营销策略开辟新的可能性。