-1

所以基本上我正在制作一个应用程序,我需要在其中嵌入一个自定义的 facebook 墙馈送。我只想要一个 JSONP 响应……仅此而已。

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

因此,我发现的唯一选择是将访问令牌用于我在 facebook 中设置的应用程序。但是我不想分发应用程序秘密,所以我可以使用APP_ID|APP_SECRET我见过的方法(无论它到底是什么),因为这意味着我认为是坏事?

所以我的想法是,在服务器上创建一个代理脚本,它将保存应用程序的秘密等这个脚本将向 FB 询问访问令牌,并将其传递回我的应用程序,以便我的应用程序可以获取墙源并继续使用用于刷新提要的令牌。

如果我打开我的应用程序并获得一个访问令牌,然后另一个人打开我的应用程序并获得一个访问令牌,我的访问令牌会随着新的生成而过期吗?或者您可以为同一个应用程序生成任意数量的访问令牌吗?

或者有人能想到更好的方法吗?

工作流程

  1. 用户在设备上打开应用程序(该设备是一个定制的包含单元,想想一个 Raspberry Pi,但简单 100 倍,并且它插入电视)
  2. 该应用程序将许多提要加载到页面上的区域中,这些提要包括来自特定个人资料的 facebook 墙提要。
  3. 该应用程序将在无人值守的情况下运行数天/数周/数月,并定期刷新信息源。

FB 访问令牌工作流程

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

  1. 首先加载应用程序并运行一个函数,该函数对我的 php 代理脚本进行 ajax 调用以请求令牌
  2. 我的代理脚本将使用我的应用程序 ID 和密码向 facebook 发出请求,并从 FB 获取访问令牌
  3. 然后,我的代理脚本会将访问令牌作为对应用程序的 jsonp 响应转储回
  4. 该应用程序将从 jsonp 响应中获取访问令牌,并将其存储
  5. 该应用程序将使用检索和存储的令牌来处理对 facebook graph api 的所有墙提要请求。
  6. 如果应用程序由于某种原因检测到它的令牌不起作用,它将尝试从我的令牌代理脚本中获取一个新令牌。

这就是我关于如何使用令牌代理脚本向每个人提供访问令牌的想法,而不会泄露如果有人查看应用程序源代码会导致问题的信息(这根本不难)。但是,如果每次您请求新令牌时 facebook 都会删除旧令牌,这将不起作用。所以这是直接的问题。

但是,如果有更好的方法解决这个问题,我的耳朵是敞开的。谢谢

4

1 回答 1

0

我不确定您是否能够使用 App 访问令牌做您想做的事情。

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

2)引用文档:

请注意,应用程序访问令牌用于发布操作和发布流权限允许的发布目的。您将无法使用应用访问令牌检索有关具有给定 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天通过一次auth(他不需要登录),你可以使用扩展用户access_tokens。

如果你这样做,这将有所帮助。我回答了其他一些关于 cronjob 的问题。阅读:Facebook PHP 发布到带有 cronjob 的粉丝页面?

希望这可以帮助

于 2012-11-15T08:53:13.430 回答