Javascript 从我的应用程序访问facebook画布URL参数

Javascript 从我的应用程序访问facebook画布URL参数,javascript,facebook-canvas,Javascript,Facebook Canvas,我正在制作一个facebook画布应用程序(一个游戏),我希望我的玩家使用带有url参数的链接,链接到游戏中的不同区域,即 如何访问我的应用程序中的level=emeraldhillzone信息(在iFrame中使用javascript的客户端,或作为node.js应用程序的服务器端) 到目前为止我已经尝试过的事情: 这说明可以在客户端代码中添加,但没有说明如何添加(如果我遗漏了一些明显的内容,很抱歉!window.location提供了我的heroku服务器的位置,而不是facebook

我正在制作一个facebook画布应用程序(一个游戏),我希望我的玩家使用带有url参数的链接,链接到游戏中的不同区域,即

如何访问我的应用程序中的level=emeraldhillzone信息(在iFrame中使用javascript的客户端,或作为node.js应用程序的服务器端)


到目前为止我已经尝试过的事情:

  • 这说明可以在客户端代码中添加,但没有说明如何添加(如果我遗漏了一些明显的内容,很抱歉!window.location提供了我的heroku服务器的位置,而不是facebook url。)

  • 其中一些问题让我认为这是可行的:

  • 在表单中使用url,然后在服务器端将签名请求发送到服务器,它将包含一个app_数据字段

    但是,当我这样做时,签名的请求不包含app_数据字段


    阅读了更多内容后,我认为只有当应用程序加载到facebook页面选项卡中,而不是facebook画布页面中时,应用程序数据才有效。

    facebook会向你的应用程序发送初始帖子,其中包括url参数。您可以从该POST请求中访问url参数

    我使用此url加载页面:

    https://apps.facebook.com/mgatlandtest/?level=emeraldhillzone

    我在node.js服务器应用程序中使用了这段代码来处理请求

    app.post('/*', function(request, response) {
      console.log('url parameters:');
      console.log(request.query);
      response.redirect('/');
    });
    
    节点控制台中的输出为:

    url参数:
    {级别:'emeraldhillzone'}

    然后可以使用这些参数重定向到其他页面


    这其实很简单,一旦我克服了所有分散注意力的错误信息。关键是搜索“深度链接”(而不是“url参数”),这会导致