我通过调用以下js函数向用户(已经授权的应用程序)发送应用程序生成的请求
function send_app_request(){
FB.api( "/" + '<TO-USER-ID>' + "/apprequests", "POST", {
message: "Custom Request for you!",
title: "Sample title",
access_token: "<MY-APP-ACCESS-TOKEN>"
}, function(response) {
alert(response.toSource());
console.log(response);
});
}
脚本工作正常,当用户点击应用程序图标(带有红色通知)时,在画布的右上角,他会被重定向到应用程序的索引页面(应用程序。 facebook.com/MY-APP),这也没关系。我的问题是,我应该在我的FB.api调用中添加什么参数,以便用户被重定向到我想要的应用程序URL(例如:apps.facebook.com/MY-APP/show-article/?article_id=5)而不是索引网址。
答案 0 :(得分:2)
请求始终将用户引导至您的应用程序画布。
请求仅适用于Canvas应用,而非网站,因为接受请求会将用户引导至发送请求的应用的Canvas Page URL 。
可能的解决方案是在Request data
属性中添加所需的URL,并且一旦用户登陆您的Canvas URL并在URL参数中传递requests_ids
,请阅读这些请求并根据data
决定应该重定向用户的属性。
<强>
data
强>
您可以传递的可选附加数据以进行跟踪。这将存储为创建的请求对象的一部分。最大长度为255个字符。
<强>更新强>
要获得分配了应用程序/用户请求的data
,请从图谱API中获取它:
https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN