图API和动态访问令牌

时间:2012-11-13 21:43:20

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

所以基本上我正在制作一个应用程序,我需要嵌入一个自定义的Facebook墙壁Feed。我只想要一个JSONP响应......就是这样。

从访问令牌的e.c.t上阅读了几天。我得出的结论是,如果没有有效的访问令牌,就没有办法使用图形API,但是我不想要求用户登录(目标平台不适合简单的字符输入,而且id必须创建自定义弹出键盘和交互JS)。

所以我发现的唯一选择是在Facebook中设置应用程序的访问令牌。但是我不想分发app秘密,所以我可以使用APP_ID|APP_SECRET方法我已经看过的方法(不管它究竟是什么),因为这意味着我认为不好的事情?

所以我的想法是,在服务器上创建一个代理脚本,它将使应用程序保密e.c.t.此脚本将向FB询问访问令牌,并将其传递回我的应用程序,以便我的应用程序可以获取换行符并继续使用该令牌来刷新源。

如果我打开我的应用程序并获得访问令牌,那么另一个人打开我的应用程序并获取访问令牌,我的访问令牌是否会在生成新的时候到期?或者,您可以根据需要为同一个应用生成尽可能多的访问令牌吗?

或者任何人都可以想到更好的方法吗?

WORKFLOW

  1. 用户在设备上打开应用程序(该设备是一个定制的包含单位,想到一个Raspberry Pi,但更简单100倍,并插入电视)
  2. 该应用会将多个Feed加载到页面上的区域中,这些Feed包含来自特定配置文件的Facebook墙壁Feed。
  3. 应用程序将无人值守运行数天/数周/月,并定期刷新信息提要。
  4. FB访问令牌工作流程

    由于用户无法登录,我需要提供访问令牌。为了安全起见,我不想绕过我的app秘密。所以我的想法是使用托管在我服务器上的php代理脚本来获取访问令牌。像这样:

    1. 首次加载应用程序时运行一个函数,该函数对我的php代理脚本执行ajax调用,请求令牌
    2. 我的代理脚本将使用我的应用ID和密码触发对facebook的请求,并从FB获取访问令牌
    3. 我的代理脚本然后将该访问令牌作为对应用程序的jsonp响应转发回来
    4. 该应用将从jsonp响应中获取访问令牌并存储
    5. 该应用将使用检索到的&已存储的令牌,用于所有墙面Feed请求到facebook图表api。
    6. 如果应用由于某种原因检测到其令牌无效,它将尝试从我的令牌代理脚本中获取新令牌。
    7. 我的想法是如何使用令牌代理脚本向所有人提供访问令牌,而不会泄露如果有人查看应用程序源代码会导致问题的信息(这根本不会很困难)。但是,如果facebook在您每次请求新令牌时删除旧令牌,则无效。所以这是当前的问题。

      然而,如果有更好的解决方法,我的耳朵是敞开的。感谢

1 个答案:

答案 0 :(得分:0)

我不确定您是否能够使用App访问令牌执行您想要的操作。

1)应用访问令牌无法访问用户有权访问的所有内容,或者您​​可以使用user_access令牌访问的内容。比如,某些年龄限制的页面,某某等。

2)从文档中引用:

  

请注意,应用访问令牌用于发布目的   publish_actions和publish_stream权限。你将无法   检索有关具有给定ID的状态更新帖子的信息   使用应用访问令牌。您应该使用用户访问权限   为此目的的令牌。

3)使用app access_token的检索能力仅限于

a.Basic Profile Info of a User (ID, Name, Username, Gender).

b.A User’s Friends and their IDs.

c.Permissions granted by the User to your App(probably includes email, etc etc.)

所以,我不确定它是否适用于你正在寻找的东西。但是,如果您可以让用户先登录,并让用户每60天进行一次身份验证(他不需要登录),您可以使用扩展用户access_tokens。

如果你这样做,这将有所帮助。还有一个我回答处理cronjob的问题。阅读:Facebook PHP post to fan page with cronjob?

希望这有帮助