facebook:如何授权网站永久访问你的墙?

时间:2011-09-27 18:20:59

标签: facebook facebook-graph-api facebook-access-token

我正在创建一个网站,我希望它能够显示我自己的Facebook个人资料页面墙上的帖子。访问我网站的任何用户都必须能够看到这些帖子。

在网上阅读了关于Facebook api主题的各种文章,我以为我找到了正确的解决方案。以下步骤是我迄今为止所做的:

  1. 在Facebook上以开发人员身份登录(我在帖子中最多只允许2个网址,因此我已经省略了该网址)

  2. 设置一个新的应用程序,它给了我一个App ID和一个App Secret。

  3. 在以下网址生成我的访问令牌:

  4.   

    https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&scope=offline_access&client_id=APP_ID&client_secret=APP_SECRET

    其中APP_ID和APP_SECRET是步骤2中的App ID和App Secret。我还添加了'scope'参数并将其设置为'offline_access',因为我相信这是允许我的网站访问我的Facebook墙信息而不用需要我当前登录Facebook。

    当我在[http://pauldailly.javaprovider.net/danceclass] [1]访问我的测试页面时(我在步骤2中创建我的应用程序时将此URL设置为我的“网站URL”。同样,我设置了我的“网站域名”与我的网站网址相同,没有“/ danceclass”。我收到了“Paul Dailly没有分享任何信息”的信息,它显示了我的Facebook个人资料图片。我应该指出,这个测试页面正在使用Facebook Wall jQuery插件来调用facebook。我已经提供了插件我的facebook页面的个人资料ID以及我在上面生成的访问令牌。

    我的问题是,为了让我的网站现在可以访问我的Facebook帐户中的特定数据(例如我的墙上帖子),我是否需要采取一些额外步骤,因为我似乎拥有有效的访问令牌?

1 个答案:

答案 0 :(得分:0)

首先,访问令牌可以以多种方式到期,  1次。  2.当您退出时。  3.当您更改权限等时。

其次,是的,你需要用户不同的permissions(即使用户是应用管理员)从他的Facebook个人资料中检索不同的信息。

另外,请确保您在网站中构建元标记,例如放置og:adminsog:app_id等。您必须在启动facebook(php / js)-sdk时提供app_id你的网站也是。