簡體   English   中英

Google Adwords 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都使用同一應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM