2012-11-13 86 views
-1

所以基本上我正在做一个应用程序,我需要嵌入一个自定义的Facebook墙饲料。我只想要一个JSONP响应......就是这样。图形API和动态访问令牌

从读取访问令牌的e.c.t.我已经得出结论,没有有效的访问令牌就无法使用图形API,但是我不想要求用户登录(目标平台不适合简单的字符输入,加上id必须创建一个自定义的弹出式键盘和交互JS)。

因此,我发现的唯一选择是使用访问令牌的应用程序我安装在Facebook中。然而,我不想分发应用程序的秘密,所以我可以使用APP_ID|APP_SECRET方法我见过的方法(无论它是什么),因为这将意味着我认为不好的事情?

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

如果我打开我的应用程序并获取访问令牌,那么另一个人打开我的应用程序并获取访问令牌,我的访问令牌会因为生成新访问令牌而过期?或者,您是否可以为同一个应用程序生成尽可能多的访问令牌?

或者谁能想到更好的方法?

WORKFLOW

  1. 用户打开设备上的应用程序(该设备是一个定制的包含的单元,认为一个树莓Pi的但100X简单,并且其插入到TV)
  2. 该应用程序加载这些供稿包括来自特定配置文件的Facebook供稿。
  3. 该应用将无人值守地运行几天/几周/月并定期刷新信息源。

FB访问令牌工作流

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

  1. 在第一负载运行功能,确实一个AJAX调用我的PHP代理脚本请求的应用程序令牌
  2. 我的代理脚本将触发了与我的应用程序ID和秘密给Facebook的请求,并获得了访问从FB令牌回
  3. 我的代理脚本,然后将转储访问令牌回来的JSONP响应应用
  4. 该应用程序将抓住从JSONP响应的访问令牌,并将其存储
  5. 该应用程序将使用检索到的&存储的令牌用于所有墙向Facebook图表API提交请求。
  6. 如果应用程序由于某种原因检测到它的标记不起作用,它将尝试从我的标记代理脚本中获取一个新标记。

这是我如何令牌代理脚本可以被用来给访问令牌给大家的想法,不放弃,如果有人看了应用程序的源代码,这将导致问题的信息(这不是很困难所有)。但是,如果facebook在每次请求新的令牌时都删除旧的令牌,则这不起作用。所以这是直接的问题。

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

+0

你的问题,我指的是你能解释一下这个问题的方式似乎有点复杂。你能否提一下这个工作流程的工作流程?就像,1.用户来到您的网站。 2.等等等等。谁谁。 – Kishor

+0

@Kishor:我添加了一些关于应用程序进程和提议的令牌获取想法的额外信息。希望它有助于清理事情? – Lee

回答

0

我不知道你是否可以用App访问令牌做你想做的事。

1)应用访问令牌不能访问用户有权访问的所有内容,或者可以使用user_access令牌访问的内容。就像,一些年龄限制的页面,等等。

2)从文档引用:

注意,应用程序访问令牌是用于通过 的publish_actions和publish_stream权限允许出版目的。您将使用应用程序访问令牌检索有关使用给定ID 的状态更新帖子的信息的无法 。相反,您应该使用用户访问 令牌用于此目的。

3)使用的应用程序的的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?

希望这有助于