2016-02-26 481 views
0

我試圖以編程方式從各種頁面(約50個客戶端)從Facebook獲取一些洞察指標。所以我想自動化這個。Facebook洞察通過graph.facebook.com認證流程

我創建了一個Facebook應用程序,並有我的app_idapp_secret。我還創建了一個不會過期的app_access_token

我的問題是:我如何獲得page access token我想從中獲取見解的每個頁面?目前我...

STEP 1)......去了Query Explorer和入圍我的應用程序,並搶下user_access令牌與manage_pagesread_insights權限。

步驟2)然後,我用user_access_tokenhttps://graph.facebook.com/v2.5/{pagename}?fields=access_token&access_token={user_access_token}得到我認爲是page_access_token

步驟3)然後我使用這個標記來做我的查詢,如https://graph.facebook.com/v2.5/{pagename}/insights/page_impressions?access_token={page_access_token}

現在既然應用程序已經OKAYed,不應該有辦法在步驟1中以編程方式獲取user_access_token?除了我上面描述的app_access_token之外,它們全都過期。我可以在第1步中以某種方式使用該令牌嗎?

我沒有使用和SDKs只是純粹的https調用。

+1

沒有用戶無法手動獲取用戶訪問令牌的方法 – WizKid

+1

沒有使用SDK的情況下無法實現此目的。請仔細閱讀以下內容:https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens –

回答

1

其實這是可能的。我設法通過這樣做得到一個擴展的頁面訪問令牌:

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=[app-id]&client_secret=[app-secret]&fb_exchange_token=[short-lived-token] 

here。基本上你會得到一個短暫的用戶令牌,然後用它來獲取一個頁面訪問令牌,然後用你的應用ID /祕密來獲得一個永不過期的擴展頁面令牌(非常適合嵌入到自動報告應用中)。

它是錯綜複雜的,但它的工作原理。作爲獎勵,如果您在Facebook業務經理註冊APP,該頁面令牌將適用於您在該業務經理帳戶下有權訪問的所有網站。