主要目标:我如何才能获得一个facebook应用程序无限制的访问令牌?如何获得持久的Facebook访问令牌?
背景资料
我们有一个名为MyApp的跟下面成立了一个FB应用:
- MyApp的被授权与我们的Facebook应用进行互动
- MyApp的具有管理访问权限,我们的pages(manage_pages)
- MyApp有权访问Insights(read_insights)
我们的目标是自动提取“见解”数据,例如,每晚一次。
尝试使用OAuth生成应用令牌
获取APP_ACCESS_TOKEN属于MYAPP
graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID & client_secret = YOUR_APP_SECRET & grant_type = client_credentials
退役令牌的示例:328467452729456598 | Wn2Gt69Ofg5ySdOGa3TsP2p4R
使用APP_ACCESS_TOKEN获得PAGE_ACCESS_TOKEN为每个页面 graph.facebook.com/me/accounts?access_token=APP_ACCESS_TOKEN
使用PAGE_ACCESS_TOKEN获得页面的解析数据: graph.facebook.com/YOUR_APP_ID/洞察=的access_token PAGE_ACCESS_TOKEN
我的问题是,APP_ACCESS_TOKEN我得到第1步似乎缺少令牌的用户部分,导致下面的错误运行的第2步时:
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
尝试使用令牌从图形浏览器API令牌
检索如果我使用APP_ACCESS_TOKEN通过图形API浏览器(https://developers.facebook.com/tools/explorer),我得到获得用户部分的令牌显着更长。 如果我在步骤2和步骤3中使用此标记,我会得到正确的数据,但所有标记只有2小时有效,随后我无法将其用于自动检索洞察数据。
尝试与交换长住令牌
按照本指南中介绍的步骤短暂令牌:https://developers.facebook.com/roadmap/offline-access-removal/#page_access_token,我试图较长住一个交换短命的令牌。
如果我使用try来交换从OAuth的过程中获得的令牌,我得到的错误:
"message": "No user access token specified",
"type": "OAuthException",
"code": 1
如果我使用的交换方法的图形管理器中手动获取的令牌,我可以得到其他步骤也可以工作,但这个新令牌持续多久?如果令牌在x天后或其他事件之后过期,我仍然会面临以编程方式获取初始令牌的问题(而不是从图形浏览器手动获取每个令牌)。
因此,没有人知道我怎样才能得到一个长寿命,自动检索令牌来解决这个问题?
谢谢!
你需要一个_user_访问令牌来查询'/我/ accounts',不是一个应用程序访问令牌。 – CBroe