1. 什么是OAuth认证?
OAuth(开放授权)是一种开放标准,用于授权第三方应用访问用户在某个网站上的信息,而无需提供用户名和密码。OAuth提供了一种安全的方法进行授权,不会暴露用户的敏感信息。
2. 为什么需要使用OAuth认证进行Google Ads认证?
Google Ads是一种广告平台,用于发布、管理和优化在线广告。为了能够使用Google Ads API来实现自动化广告管理,我们需要进行OAuth认证,以获得访问用户广告信息的权限。
3. 如何使用PHP和OAuth进行Google Ads认证?
3.1 创建OAuth客户端凭证
在使用PHP和OAuth进行Google Ads认证之前,我们首先需要在Google Developers Console创建一个OAuth客户端凭证。
创建一个新项目,然后选择该项目。
在左侧导航栏中,找到“凭据”(Credentials)选项,并点击“创建凭据”按钮。
选择“OAuth客户端ID”。
选择“Web应用程序”。
在“授权准备”(Authorized JavaScript origins)中,添加您的应用程序的URL。
在“授权重定向URI”(Authorized Redirect URIs)中,添加您的应用程序的回调URL。
点击“创建”按钮,以创建OAuth客户端凭证。
在凭据详细信息中,您可以找到“客户端ID”和“客户端密钥”。
3.2 使用PHP代码进行OAuth认证
现在我们有了OAuth客户端凭证,可以使用PHP代码来进行Google Ads认证。
require 'vendor/autoload.php';
use Google\Ads\GoogleAds\Lib\V8\GoogleAdsClient;
$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$redirectUri = 'YOUR_REDIRECT_URI';
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential(
new OAuth2CredentialsBuilder()
->withClientId($clientId)
->withClientSecret($clientSecret)
->withRedirectUri($redirectUri)
->build()
)
->build();
$authUri = $googleAdsClient->getOAuth2Credential()->buildFullAuthorizationUri();
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['code'])) {
$code = $_GET['code'];
$googleAdsClient->getOAuth2Credential()->setCode($code);
$accessToken = $googleAdsClient->getOAuth2Credential()->fetchAccessTokenWithAuthCode();
// 存储访问令牌,用于后续的Google Ads API调用
$_SESSION['access_token'] = $accessToken;
} else {
header('Location: ' . $authUri);
exit;
}
3.3 访问用户的广告信息
经过上述认证流程后,我们可以使用Google Ads API来访问用户的广告信息。
$googleAdsClient = (new GoogleAdsClientBuilder())
->withOAuth2Credential(
new OAuth2CredentialsBuilder()
->withClientId($clientId)
->withClientSecret($clientSecret)
->withAccessToken($_SESSION['access_token'])
->build()
)
->build();
$customerServiceClient = $googleAdsClient->getCustomerServiceClient();
$customerServiceClient->listAccessibleCustomers();
4. 总结
通过PHP和OAuth进行Google Ads认证是使用Google Ads API的必要步骤。我们可以创建OAuth客户端凭证,在PHP代码中使用该凭证进行OAuth认证,并最终访问用户的广告信息。这样,我们就能够利用Google Ads API实现更高效的广告管理。