【问题标题】:Giving a redirect url parameter when sending an app generated request to a facebook user在向 facebook 用户发送应用生成的请求时提供重定向 url 参数
【发布时间】:2023-04-08 12:42:01
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    引用Requests documentation

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

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

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

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

    https://graph.facebook.com/<REQUEST_OBJECT_ID>_<USER_ID>?access_token=APP_ACCESS_TOKEN
    

    【讨论】:

    • 我还添加了“数据”参数(数据:)以及“消息”、“标题”和“访问令牌”,但是当我点击弹出窗口时我能看到的所有通知都是通过的 request_ids,而不是“数据”。我如何使用这些“数据”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    相关资源
    最近更新 更多