Google 广告词 API。如何使用 PHP 库刷新令牌

Google Adwords API. How to refresh token with PHP library

让我从这里开始。 Google Adwords API 不适用于标准 Google API Oauth 方法。它有它自己的。请不要以使用该库或其不同的方法作为回应。

好的,在过去的几天里,我一直在将 GoogleAdwords API OAuth 方法代码集成到我公司的代码中。我可以毫无问题地从服务器获取访问和刷新令牌。访问令牌有效期为 1 小时,然后需要刷新。

// oauth 2 config
$credentials= array(
    'client_id' => $config['id'],
    'client_secret' => $config['secret'],
    'access_token' => $params['access_token'],
    'refresh_token' => $params['refresh_token']
);

$user = new \AdWordsUser(null, $adwords['dev_token'],
    $adwords['useragent'], null, null, $credentials);

以上代码可以使用全新的令牌正常工作。如果我获取 $user 对象并尝试从 API 获取 CustomerService 对象,我可以取回数据。然而,一个小时后令牌变坏,我无法再使用它。

我搜索了 Google 的 Adwords API 论坛(通过 Google 论坛),并且还进行了一般性的 Google 搜索。我能找到的唯一代码是这段代码。

$client = $user->GetOAuth2Handler();
$credentials = $client->RefreshAccessToken($user->GetOAuth2Info());
$user->SetOAuth2Info($credentials);

但是当我添加它时,我总是得到这个错误。

{ "error" : "unauthorized_client" }

我完全不知所措...

另请注意,我不使用 auth.ini 我们使用自己的配置文件并将参数添加到 api 对象。

{ "error" : "unauthorized_client" }

此错误意味着指定了不同的 google 应用程序 client_id。我们使用多个 google 应用程序,我复制并粘贴了一些代码,忘记了对于 Adwords 我们使用的是新应用程序,我们集成的其他 google API 都使用同一个应用程序。