1

我正在通过调用以下 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);
     });
   }

该脚本运行良好,当用户单击画布右上角的应用程序图标(带有红色通知)时,他会被重定向到应用程序的索引页面(apps.facebook.com/MY-APP ),这也很好。我的问题是,我应该在我的 FB.api 调用中添加什么参数,以便用户被重定向到我想要的应用程序 url(例如:apps.facebook.com/MY-APP/show-article/?article_id=5)而不是索引网址。

4

1 回答 1

2

请求总是将用户引导到您的应用程序画布。

引用请求文档

请求仅适用于 Canvas 应用程序,而不是网站,因为接受请求会将用户定向到发送请求的应用程序的 Canvas 页面 URL。

可能的解决方案是在 Requestdata属性中添加所需的 URL,一旦用户使用传入的 URL 参数登陆您的 Canvas URL requests_ids,读取这些请求并根据data属性决定用户应该被重定向到哪里。

data
您可以传递用于跟踪的可选附加数据。这将作为创建的请求对象的一部分存储。最大长度为 255 个字符。

更新:
要获得data分配的应用程序/用户请求,请从 Graph API 获取它:

https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN
于 2012-04-30T12:00:37.717 回答