获取访问令牌,而无需连接到Facebook

我需要使用他们的javascript SDK检索facebook页面的帖子列表(feed),就像他们在他们的文档中解释的一样:https://developers.facebook.com/docs/graph-api/reference/v2.4/page/饲料

/* make the API call */
FB.api(
    "/{page-id}/posts",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);

我需要它作为我的网站的“新闻部分”,所以用户应该看到它,即使他们没有连接到Facebook。

问题

很酷,但有一个问题...它返回: An access token is required to request this resource. 圣牛...我想为您获取一些访问令牌@facebook, 但我的应用程序不会使用您的验证工具/插件。 无论如何,我尝试使用FB.getLoginStatus(); 但不起作用,因为它可以返回access_token的唯一方式是用户实际连接到应用程序。 我的用户甚至可能不会登录到Facebook!

所以,我怎样才能将access_token存储到一个变量中,然后用来获取/{my-page}/posts

我已经看过这个SO问题,但它不能解决我的问题,仅仅因为没有这样的“通用标记”。 我也读过https://developers.facebook.com/docs/facebook-login/access-tokens/,这也依赖于通过Facebook登录方法生成的令牌......所以,我不能显示fb列表页面的帖子在我的网站上,没有连接到Facebook,因此是一个应用程序?

ADD:我的应用程序是用angularJS构建的,我没有处理服务器端代码。 我将纯粹依靠javascript方法。


您可以使用页面或应用程序访问令牌,但正如您在客户端使用它们一样,它们都不是一个选项。

看到

  • https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens
  • https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens
  • 请注意,由于此请求使用您的应用程序密码,因此绝不能在客户端代码或应用程序二进制文件中进行反编译。 不要与任何人共享您的应用秘密,这一点很重要。 因此,只能使用服务器端代码进行此API调用。

    我强烈建议构建一个简单的服务器端脚本(例如PHP)以将请求代理到Graph API。 然后你可以通过AJAX调用这个例子,并异步加载帖子(并且除掉FB JS SDK!)。 有没有办法在一个安全的方式来处理这个,如果你不想使用FB登录的所有用户(也没有多大意义恕我直言)


    我认为这很简单:)
    由于页面的帖子总是公开的 ,它只需要一个有效的访问令牌来检索页面帖子。 引用你写的内容:

    所以,我怎样才能将access_token存储到一个变量中,然后用来获取/ {my-page} / posts?

    您只需要一个访问令牌。
    我的建议是;
    - 为自己生成访问令牌(不需要额外的权限) - 请求页面ID /帖子

    通过这种方式,您不需要将其他用户连接到Facebook,只需要使用page-id / posts来检索包含您为自己生成的访问令牌的帖子。

    我希望它能解决你的问题:D
    提示 :只要帖子是公开的 ,您只需要一个有效的访问令牌,它不需要是用户或页面特定的。

    链接地址: http://www.djcxy.com/p/32597.html

    上一篇: Get an access token without being connected to facebook

    下一篇: How to get USER access token, the same used in Graph API Explorer