我可以在我的页面选项卡应用程序中使用“多朋友请求选择器”向朋友发送请求,该链接如下所示:
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。时间表已在使用中。
答案 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”。如果您控制链接的生成,则可以使用它来自定义您呈现的内容。