【问题标题】:How can I redirect to my app page after accepted a app request sent from our app?接受从我们的应用发送的应用请求后,如何重定向到我的应用页面?
【发布时间】:2011-10-03 18:47:41
【问题描述】:

我对 facebook apprequests (oauth2, graph) 有疑问

我向朋友 B 发送了应用请求。 B 登录 facebook 并在应用列表中找到我们的请求。 B点击接受按钮

B 重定向到 facebook 画布页面。我想重定向到我们的应用程序,而不是 facebook 的画布,这可行吗?

谢谢

【问题讨论】:

  • 这是可行的,当用户从请求中登陆时,只需从画布重定向到应用配置文件页面。你知道如何处理/删除画布页面中的请求吗?您使用哪种语言?

标签: facebook facebook-apps


【解决方案1】:

你可以在数据参数中放一个url

在底部的属性下查看http://developers.facebook.com/docs/reference/dialogs/requests/

data 可选的,您可以传递用于跟踪的附加数据。这将 存储为创建的请求对象的一部分。

这将被传回给您,您可以使用 javascript 来 location.href 到数据中的 url。

---------这是我过去使用的示例

    var thisimg = 'AN_IMG';
    var thisurl = 'A_URL';  
    window.sendrequest = function(){
             FB.ui({ method: 'apprequests', 
             title: 'A request.',
        message: 'Rate Me! Request from: ' +thisname+' ',
        data: ''+thisimg+' '+thisurl+' ',
        filters: ['all'],
        });
        }

--------- 来自 Facebook 的示例,添加了数据参数。

        var thisimg = 'AN_IMG';
        var thisurl = 'A_URL';
  function sendRequestToManyRecipients() {
    FB.ui({method: 'apprequests',
      message: 'My Great Request',
      data: ''+thisimg+' '+thisurl+' ',
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }

在回调时,您可以执行 window.top.location.href='';使用您传入数据的 url。

注意:请求的默认重定向是画布,这是无法更改的。用户登陆您的画布后,您将从请求中读取数据参数并将它们重定向到您的外部应用程序。

“我没有看到任何其他方法可以做到这一点,因为 requests2.0 不包含重定向 uri 的选项。”

【讨论】:

  • Shawn,谢谢,我的问题已解决。 再次感谢您
【解决方案2】:

由于您已经在您的应用程序中包含 Facebook javascript SDK,并且您已经编写了此代码以在脚本中为您的应用程序邀请朋友

FB.ui({ method: 'apprequests', redirect_uri: 'APP URL', message: '我的消息' });

这将重定向到应用程序 URL,而不重定向到 Facebook 画布 URL。因此,即使您使用数据参数,例如

,这也不起作用

FB.ui({ method: 'apprequests', data: 'APP URL', message: '我的消息' });

在您的应用登陆页面(即 index.php)中编写此代码

$requestid=$_GET[request_ids];
if(!empty($requestid)) {
    echo "<script> window.top.location.href='APP URL'; </script>";
}

【讨论】:

    【解决方案3】:

    这是一个老问题,但现在有一个更简单的解决方案。

    在“Facebook Canvas”下的 Facebook 应用设置中,有一个名为“Mobile Site URL”的字段。当用户尝试从移动设备打开您的画布应用程序时,他将被重定向到该 URL。

    该 URL 应该指向一个页面,您应该从该页面重定向到基于浏览器用户代理的 App Store 或 Play Store(或即将推出的页面)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2019-06-22
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多