在向facebook用户发送应用生成的请求时给出重定向url参数

时间:2012-04-30 11:43:52

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-app-requests

我通过调用以下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)而不是索引网址。

1 个答案:

答案 0 :(得分:2)

请求始终将用户引导至您的应用程序画布。

引用Requests documentation

  

请求仅适用于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