Facebook SDK:从页面标签应用程序发送请求

时间:2012-04-01 15:59:37

标签: facebook facebook-timeline

我可以在我的页面选项卡应用程序中使用“多朋友请求选择器”向朋友发送请求,该链接如下所示:

https://www.facebook.com/<my_page_name>/app_<my_app_id>

我的朋友收到我的请求,然后点击“接受”。它转发到Facebook App的真实链接,即:

https://apps.facebook.com/<my_app_name>/?fb_source=request&request_ids=<an_request_id>

不再位于页面标签内。如果必须保留request_ids,如何将用户转发到第一个链接而不是第二个链接?我只是做一个header('Location: url');转发吗?

P.S。时间表已在使用中。

1 个答案:

答案 0 :(得分:4)

是的,您必须转发到您的网页网址,因为请求始终会重定向到画布网址。

要传递请求ID,您可以使用app_data字段。因此,您无需重定向到https://www.facebook.com/<my_page_name>/app_<my_app_id>,而是重定向到https://www.facebook.com/<my_page_name>/app_<my_app_id>?app_data=requestids。这里的请求是实际值(画布获得的逗号分隔列表)。

app_data可用于您的页面标签应用,作为其收到的signed_request的一部分。

来自docs

  

此外,如果在加载选项卡的URL中的原始查询字符串中设置了app_data参数,则您的应用程序还将收到名为app_data的字符串参数作为signed_request的一部分。对于上面的“立即购买”链接,可能如下所示:“https://www.facebook.com/YourPage?v=app_1234567890&app_data=any_string_here”。如果您控制链接的生成,则可以使用它来自定义您呈现的内容。