2

我的應用程序因使用Ads API而被列入白名單。Facebook廣告api工作流程

我想知道關於認證流程。 假設我需要通過API在日常任務(無用戶交互)上檢索和執行操作,但我發現身份驗證過程相當麻煩。

有沒有辦法與我的應用程序訪問令牌,而不是用戶訪問令牌? 我希望能夠爲每個用戶批准我的應用程序一次,然後才能夠在沒有用戶交互的情況下工作。 我可以做到這一點嗎?

回答

3

應用程序訪問令牌與此情況無關。我不得不使用用戶訪問令牌。 我關注此文檔:https://developers.facebook.com/docs/reference/ads-api/

最終,應該使用一些客戶端代碼來獲得用戶權限,然後再獲取用戶令牌的另一個請求。

所以你必須調用 https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=ads_management,offline_access&RESPONSE_TYPE =代碼

獲取驗證碼,並撥打另一個電話: https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&client_secret=YOUR_APP_SECRET&code=AUTHORIZATION_CODE

然後你會得到的訪問令牌這是唯一有效的兩個月,與Facebook文檔在這裏所說的相反: https://developers.facebook.com/roadmap/offline-access-removal/

「廣告API是特殊的,可以讓統計信息脫機收集。 PMD夥伴應使用服務器端的OAuth流,以獲得一個永不過期的令牌而不是具有較長的到期時間的令牌。」

太糟糕了,訪問令牌是不是真的永遠有效...

1

根據this document中的「例外4」,如果您擁有Ads API訪問權限,那麼如果您使用正確的工作流程,則應該能夠獲得一個非到期令牌;在guidelines outlined here之後,如果您使用服務器端OAuth流程,做出以下要求,你應該得到一個不過期的令牌:

GET /oauth/access_token? 
grant_type=fb_exchange_token&   
client_id={app-id}& 
client_secret={app-secret}& 
fb_exchange_token={short-lived-token} 
1

thx有關訪問令牌過程的反饋很麻煩。因爲這是一對多的解決方案 - 單個應用ID可以代表多個人管理多個廣告帳戶 - 我們需要代表人們撥打電話。

您應該能夠獲得Ads API的持久訪問令牌。如果您沒有收到,請提供您正在關注的確切步驟,以便我們查看是否有錯誤或者您可能錯過了一個步驟。

Thx。

+0

我有同樣的問題。我應該在哪裏報告這個問題? – Sam