嵌入Facebook事件编辑表单

时间:2015-06-29 10:25:37

标签: facebook facebook-graph-api

据我所知,您无法通过图谱API编辑FB事件。

我想要的是在我的页面中包含一个Edit按钮,用于一个与Facebook完全相同的功能。同样适用于"创建"按钮。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

没有针对此的社交插件,而您已经发现的Graph API无法实现。没有其他办法。你只能去Facebook创建/编辑活动。顺便说一句,使用v2.0删除了创建事件的可能性,升级过程可能仍然会发生,因此如果某些应用程序仍然可以创建事件,那很可能是因为它仍然处于v1.0。迟早它会升级。有关更改的更多信息:https://developers.facebook.com/docs/apps/changelog#v2_0

只是要明确解决方法:不允许将部分Facebook加载到iframe中。更多信息:Load Facebook into an iframe

意思是,如果您尝试在iframe中加载facebook.com的任何部分,您将在控制台中收到以下错误:

  

X-Frame-Options拒绝加载:   https://www.facebook.com/events/upcoming不允许框架。

...这基本上意味着你不能在iframe中加载facebook.com的任何部分。

答案 1 :(得分:0)

简短回答:Facebook不再允许这样做(从图谱API 2.0开始)。

Facebook已在Graph API 2.0中删除了该功能(可能是为了避免垃圾邮件)。这是不幸的,因为它是有用的应用程序的一个很酷的集成。

您可以在此处看到更改日志,指出此功能不再可用:https://developers.facebook.com/docs/apps/changelog

Create event Removed - Apps can no longer create events with the API.

现在,我认为他们可以允许特殊合作伙伴进行这样的整合。例如。 Zapier似乎有一个为你的Google事件创建Facebook事件的集成,因此我猜你有可能与Facebook达成协议:

https://zapier.com/zapbook/google-calendar/facebook-pages/6308/create-facebook-page-event-from-google-calendar-event/

但与此同时,另一家大型活动提供商Eventbrite似乎没有设法达成这样的交易(至少还没有):

http://help.eventbrite.com/customer/portal/articles/428611-how-to-publish-your-eventbrite-event-to-facebook

因此,简短的回答是,Facebook不希望您在其平台上创建活动,无论其原因是什么。

技术上有可能,但这很讨厌

现在,如果你真的想这样做,有一种方法,虽然我不推荐它,因为它依赖于Facebook页面的DOM结构。这里是如何(以下大部分是在JavaScript中完成):

  1. 您使用内部框架将facebook活动页面加载回家。
  2. 您点击“幕后create event按钮,使用javascript
  3. 您创建了一个类似的界面来捕获应用程序中的所有字段。
  4. 一旦用户点击您网页上的“提交”,在填写所有这些详细信息后,您将其复制到Facebook DOM到相应的字段并提交该页面(再次使用JS)。
  5. 您搜索新创建的事件(可以使用Graph API执行此操作)并将其显示给用户。
  6. Voila,您现在已经创建了一个Facebook活动,用户甚至都不知道。
  7. 注意:这在很大程度上依赖于Facebook DOM的结构,因此Facebook Events页面的DOM的微小变化可能会破坏您的功能...而不是最好的用户体验。