2016-03-13

Google AdWords API + test account 申請流程......

在這邊記下來,因為他喵的這真的是一個超級大坑,看官方 doc 會遺漏一堆動作之類的 

Google AdWords 的帳號分成下面幾種:
  1. 一般 AdWords 帳號:申請頁
  2. AdWords Manager 帳號:申請頁
  3. AdWords Manager test 帳號:申請頁
其中一般的 AdWords 是沒 API 可以用的,而 AdWords Manager 帳號有 API 可用,但不能直接用,它會規定你一定要申請 test 帳號或是申請簽核後才能直接用,而 test 帳號內沒 developer_token,一定要配 AdWords Manager 帳號才能用,而一個 Google Account 同時只能有一種身份,所以......WTF...((請了一票帳號來配這個鬼,害我帳號名稱的梗都快用光了

anyway 如果你要玩的是 API 的話,請用下面的方式來申請,略過一般 AdWords 帳號你最少需要有兩個 Google Account,反正現在申請很快且很方便的切換之類的
  1. 請先去申請 AdWords Manager 帳號,登入後在灰色齒輪項目內可以找到『AdWords API 中心』,然後拿到格式很亂的亂碼『開發人員權杖(developer_token)』(這個項目在其他類型的 AdWords 帳號內"一定不會有")
  2. 申請 AdWords Manager test 帳號,登入後在灰色齒輪左邊可以找到數字中間用 "-" 連接的『客戶編號(client_customer_id)』
  3. 用 Adword Manager test 的帳號開啟 Google Developers Console 開一個新的專案,專案名稱隨便,新增後憑證那邊要先建立,開『OAuth 用戶端 ID』,名稱隨便,Logo 隱私權之類的都可略過,之後是建立用戶端 ID,選其他就好,名稱隨便,之後取得『用戶端 ID(oauth2_client_id)』,還有『用戶端密鑰(oauth2_client_secret)』,之後在總覽內啟用 API,廣告類項目都可以開
okay,所以以上已經取得『oauth2_client_id , oauth2_client_secret , developer_token , client_customer_id』之後打 OAuth2 去換 key,記得在換 key 的 URL 內 login 的是 AdWords Manager test account,之後應該可以換得『oauth2_token 的 access_token & refresh_token』

上面 OAuth2 登入部分可以使用類似官方的 tool,下面付的是 Ruby 的 OAuth2 Setup,其他語言類似 Perl / Python / Java / PHP / .NET / Android SDK / iOS SDK / Windows Phone 8 在同一個作者內的 GitHub 專案內都有

https://github.com/googleads/google-api-ads-ruby/blob/master/adwords_api/examples/v201601/misc/setup_oauth2.rb

這東西可以很方便的來做輔助設定和換 key 的動作,這個第零關打過之後你終於可以進行 API 的開發和測試惹 ......((乾,這票好囉唆的啊啊啊啊啊啊,這是我碰過最囉唆的 API 申請和測試了 Orz"...




繼續後記:

client_customer_id 分成主帳號 test 和次要帳號 sub account,類似 create_account 必須用 test 的 client_customer_id,而類似 add_campaigns 因為有內容,則需要用 sub account 的 client_customer_id

test 主帳號的 ID 在頁面的右上方,而次要帳號 sub account 在帳號列表,每個帳號的下方的數字的部分

用錯主帳號的話會得到類似『OperationAccessDenied.ADD_OPERATION_NOT_PERMITTED』
用錯子帳號的話會得到類似『NOT_AUTHORIZED』

anyway 換一下 client_customer_id 切換一下說不定就可以解掉這些問題




繼續後記:


AdWords Manager 可以樹狀,可以再連結另外一個 Manager 帳號,而 API 打出來做列表時,可列出所有 Manager 帳號和一般帳號(所有子代都一次列出)並且做操作之類的

沒有留言:

張貼留言