让我从这里开始。 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对象。
答案 0 :(得分:0)
{ "error" : "unauthorized_client" }
此错误表示指定了不同的Google应用程序client_id。我们使用多个谷歌应用程序,我复制并粘贴了一些代码,忘记了Adwords我们正在使用新的应用程序,我们整合的其他谷歌API都使用相同的应用程序。