[英]google adwords API authorize request
我正在開發現有 CPA 系統和 Google AdWords 之間的集成。 轉化存儲在系統中,目標是作為后台任務定期解析轉化並將其發送到用戶的 Google Ad 帳戶。
這是我到目前為止的想法:
創建和存儲 gclid 的過程現在不值得關注。
我使用php 客戶端庫https://github.com/googleads/googleads-php-lib ,它有adsapi_php.ini配置文件。 在此文件中,有開發者令牌、經理的帳戶客戶端 ID 和 OAuth2 憑據(cliendId、clientSecret、refreshToken)。
但是,當用戶通過同意屏幕訪問我的應用程序時,我按如下方式創建 OAuth2 對象:
$oAuth2Credential = new OAuth2([
'authorizationUri' => 'https://accounts.google.com/o/oauth2/v2/auth',
'tokenCredentialUri' => 'https://www.googleapis.com/oauth2/v4/token',
'redirectUri' => '<myEndpoint>',
'clientId' => '<myClientId>',
'clientSecret' => '<myClientSecret>',
'scope' => 'https://www.googleapis.com/auth/adwords'
]);
如果我理解正確,我絕對需要擁有 Web 應用程序 OAuth 憑據,以便進行回調以保存用戶的訪問和刷新令牌,以便稍后在我的后台任務中使用它們。
1) 此憑據和 adsapi_ini.php 文件中的憑據是否必須相同?
我試圖為我的網絡類型憑據生成一個刷新令牌以在 conf 文件中使用,但它沒有用。 現在,當我在配置文件中擁有應用程序類型“other”的憑據以及用於獲取用戶憑據的 Oauth2 對象中的“web”應用程序憑據時,我能夠得到有效的響應,但我不確定這是正確的方法去做吧。
2)如何授權API請求將數據推送到某個用戶的賬戶?
這是示例代碼:
$session = (new AdWordsSessionBuilder())
->fromFile()
->withOAuth2Credential($oAuth2Credential)
->withClientCustomerId('<client-customer-id>')
->build();
據我了解,會話對象對於構建任何進一步的查詢(包括上傳轉換)至關重要。
->fromFile()
使用 mentined 配置文件來獲取我的令牌和身份驗證數據 - 基本上授權我的應用程序。
$oAuth2Credential
是包含特定用戶授權數據的 OAuth2 對象。 問題是在文檔中,這個對象是由 builder 創建的,並使用相同的方法fromFile()
,我不明白它必須包含哪些數據。
我將access_token
和refresh_token
存儲在我的數據庫中,現在我正在構建 OAuth 對象,如下所示:
$oAuth2Credential = new OAuth2([
'authorizationUri' => 'https://accounts.google.com/o/oauth2/v2/auth',
'tokenCredentialUri' => 'https://www.googleapis.com/oauth2/v4/token',
'redirectUri' => '<myEndpoint>',
'clientId' => '<myClientId>',
'clientSecret' => '<myClientSecret>',
'scope' => 'https://www.googleapis.com/auth/adwords',
'access_token' => '<user_access_token>'
]);
所以基本上只是將access_token
添加到我用來從用戶獲取此令牌的參數中。 它有效,但看起來不是正確的方法。
3)如何管理用戶的token過期?
文檔說客戶端庫會自動處理刷新令牌,但我不明白它在我的情況下如何工作。 我是否需要在發出 API 請求時在 OAuth 對象中傳遞access_token
和refresh_token
然后它會自動刷新,或者我是否需要單獨的工作人員定期刷新用戶令牌以保持它們有效?
這是一個鏈接,描述了讓客戶端授權您的應用程序的流程。 https://pete-bowen.com/google-ads-api/adwords-api-authorize-multiple-users
一旦您存儲了客戶端 ID、秘密和刷新令牌(安全的地方),您就可以使用 OAuth2TokenBuilder 類,該類具有允許您提供 clientId、秘密和刷新令牌的方法,而不是從配置文件中讀取它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.