Facebook App访问令牌,用于管理页面,无需用户登录即可获取用户访问令牌

时间:2014-11-16 18:03:24

标签: facebook facebook-graph-api

我已经阅读了很多topis,很多文档。从字面上看,我从早上开始读它们。

从我得到的内容中有几种类型的令牌:App令牌,App访问令牌,用户令牌,用户访问令牌,页面访问令牌。

使用access的令牌允许某种操作。 non-access令牌似乎允许我生成access类型的令牌。如果我错了,请告诉我。由于Facebook更新,文档非常糟糕,而且一些答案已过时。

所以基本上,我所寻找的是能够:

$permanent_token = 'A token, which will allow me to generate access tokens whenever I request';
// And that token could be used for:
file_get_contents('https://graph.facebook.com/v2.1/me/accounts/?access_token='.$permanent_token);
// Some code here to extract page access token and write it to variable $app_token
file_get_contents('https://graph.facebook.com/v2.1/{page_id}/ratings/?access_token='.$app_token);
// Note: I may've missed some steps... those are the ones I lack I think.

没有必须让任何用户(包括我)登录。这更像是我需要某种API密钥和方法来生成访问令牌。

并且更喜欢不使用 facebook SDK。只是纯图形网址调用。

2 个答案:

答案 0 :(得分:2)

这是有关访问令牌的最重要的导入页面:https://developers.facebook.com/docs/facebook-login/access-tokens

有App令牌,用户令牌和页面令牌。用户令牌可以延长到60天,页面令牌可以扩展为永久有效。

/me/accounts需要一个用户令牌,因此没有永久令牌可以使用该端点。

/{page_id}/ratings/需要页面令牌,您可能需要扩展页面令牌。

如何获得扩展页面令牌在Facebook文档中得到了很好的解释,这里有一些文章:

顺便说一句,我建议不要使用file_get_contents而是使用CURL

为了获得用户令牌或页面令牌,您必须使用用户帐户授权/登录。一个是Page的管理员,很明显。

答案 1 :(得分:0)

如果你想像我一样获得照片和字幕,你可以这样做:

  1. 在Facebook开发者页面上输入:facebook developer

  2. 为页面创建应用。 (我创建的不是我的页面)

  3. 访问facebook开发者菜单:工具&支持并选择访问令牌工具
  4. 你会发现:用户令牌 - 应用令牌。(顶部有一些重要的文字)
  5. 复制App令牌。 (不应该硬编码在javascript上可以看到的地方)
  6. 创建一个php文件以返回JSON。
  7. 使用file_get_contents($ url)函数获取facebook JSON。
  8. 回显file_get_contents return。
  9. 最后,从创建的php文件中获取您自己返回的JSON,并使用所需的数据并使用它。
  10. Obs:我的网址是这样的:https://graph.facebook.com/desiredpage/photos?type=uploaded&access_token=013245667890|qwer-adsFGsfgsdGsfg 注意我粘贴的网址上的令牌。