是否可以有“背景”?脸书应用程序?
我需要一个位于用户操作“后台”的 Facebook 应用程序。一旦用户安装了该应用程序,它就会继续将用户的状态更新、新朋友联系等发送到我的另一个网络应用程序。无论应用程序页面是否打开,它都会继续获取信息。
我的问题是——这可能吗?到目前为止,我已经尝试过使用 Java API 编写的简单 iFrame 应用程序。看起来它只能在页面被点击时执行数据收集。
编辑:隐私在这里绝对是一个有效的问题。但即使 FB API 没有内置,应用程序也肯定会提示许可。
I need a Facebook application that kind of sit in the 'background' of user operations. Once the app is installed by the user, it will keep on sending the user's status updates, new friend connections etc to another web app of mine. It will keep on getting info no matter whether the app page is open or not.
My question is -- is this possible? So far, I've played around a simple iFrame app written with the Java API. It seems that it can only perform data collections whenever the page is hit.
EDIT: Privacy is definitely a valid concern here. But the application will definitely prompt for permission even if FB API is not built in to do so.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以向用户请求
offline_access
扩展权限 通过使用fb:prompt-permission
FBML 标签:我可以随时访问您的数据吗?
,存储用户在数据库中的会话密钥,然后根据需要查询 Facebook API。 (如果您想要访问非标准 API 调用的其他数据,您可能需要其他扩展权限。)请注意,这并不违反服务条款,但您将无法存储任何数据您收到的时间超过 24 小时。
You can ask the user for the
offline_access
extended permission by using thefb:prompt-permission
FBML tag:<fb:prompt-permission perms="offline_access">Can I have access to your data all the time?</fb:prompt-permission>
, store the user's session key in your database and then query the Facebook API as needed. (You may need other extended permissions if there's other data you want to access that isn't a standard API call.)Note that this isn't against the terms of service, but you won't be allowed to store any of the data you receive for more than 24 hours.
不过,我不会建议这样做,但如果您创建一个具有关联用户帐户的“应用程序”,然后要求 Facebook 应用程序的用户将其添加为朋友,那么您就可以实现您在问题中想要的目标。
例如,假设您的应用程序是 iFacebook - 然后您创建一个名为 iFacebook Friend 的常规用户帐户,并要求您的 iFacebook 应用程序的用户将 iFacebook Friend 添加到他们的朋友 (*) 列表中。然后,您可以通过常规 Facebook 帐户“iFacebook Friend”从您的应用程序用户中获取数据。
然而,这样做可能会违反 Facebook 的一些使用政策,并可能导致您被禁止或被报告为侵犯隐私的应用程序。然而,如果你的应用程序所做的事情足够有用,有些人会很高兴地放弃隐私...
(*) 你可以通过给予奖励来吸引他们这样做,例如奖励积分、只有那些拥有这些的人才能获得的额外独家“东西”补充一下朋友就会得到的。
Tho I wont suggest it, but if you create an "app" which has an associated user account, which you then ask the user of the facebook app to add as a friend, then you can achieve what you want in the question.
e.g., lets say your app was iFacebook - then you create a regular user account called iFacebook Friend, and ask users of your iFacebook app to add iFacebook Friend to their friends(*) list. Then you can scrape data off your app users via the regular facebook account 'iFacebook Friend'.
However, doing so is probably going to violate some usage policies of facebook, and can likely to get you banned, or reported as a privacy violating app. However, if what your app does is useful enough, some people will happily let privacy go...
(*) you can entice them into doing this by giving incentives, such as bonus points, extra exclusive 'stuff' that only those who have added the friend would get.
没有。 Facebook 一般不希望应用程序拥有太多用户数据,当然也不希望它们在用户未主动与应用程序交互时访问这些数据。
哎呀,甚至不再支持无限会话密钥。那些仍然存在的人都已经被祖父继承了。
Nope. Facebook doesn't want apps having too much user data in general, and certainly doesn't want them accessing it when the user is not actively interacting with the application.
Heck, infinite session keys aren't even supported anymore. Those still around have all been grandfathered in.