【问题标题】:Multi friend selector and authentication dialog in PageTab appPageTab 应用程序中的多朋友选择器和身份验证对话框
【发布时间】:2012-06-15 14:30:30
【问题描述】:

我已经创建了一个页面选项卡应用程序,我已经在应用程序设置中设置了 Auth Dialog 下的所有参数。 现在,当我通过我的应用发送好友请求,并且我的朋友点击应用请求时,他能够看到描述应用的身份验证框和请求的权限等。 但是,如果有人访问我添加了该应用程序的页面,并从那里单击该应用程序,它会直接将用户带到页面选项卡而不显示身份验证框。 这是它应该如何从页面工作的方式吗?是否可以为从页面访问应用程序的用户显示身份验证框?

其次,我添加了一个多朋友选择器,默认情况下它会在弹出窗口中打开。 是否可以在页面本身而不是弹出窗口中显示它? 我尝试添加 display: 'page' 选项,但它可以正常工作。

我使用了来自https://developers.facebook.com/docs/reference/dialogs/requests/的相同代码

... 
<body>
<div id="fb-root"></div>


<p>
  <input type="button"
    onclick="sendRequestToRecipients(); return false;"
    value="Send Request to Users Directly"  />
  <input type="text" value="User ID" name="user_ids" />
  </p>
<p>
<input type="button"
  onclick="sendRequestViaMultiFriendSelector(); return false;"
  value="Send Request to Many Users with MFS" />
</p>

<script>
window.fbAsyncInit = function() {
  FB.init({
    appId      : XXXXXXXXXXX,
    status     : true, 
    cookie     : true,
    xfbml      : true,
    oauth      : true,
  });
};
(function(d){
   var js, id = 'facebook-jssdk'; 
   if (d.getElementById(id)) {
       return;
       }
   js = d.createElement('script');
   js.id = id; 
   js.async = true;
   js.src = "//connect.facebook.net/en_US/all.js";
   d.getElementsByTagName('head')[0].appendChild(js);
 }(document));
</script>

<script>
function sendRequestToRecipients() {
        var user_ids = document.getElementsByName("user_ids")[0].value;
        FB.ui({method: 'apprequests',
          message: 'My Great Request',
          to: user_ids, 
        }, requestCallback);
      }

      function sendRequestViaMultiFriendSelector() {
        FB.ui({method: 'apprequests',
          message: 'My Great Request'
        }, requestCallback);
      }

      function requestCallback(response) {
        // Handle callback here
      }
</script>
...

非常感谢您提供这方面的任何帮助。

【问题讨论】:

    标签: authentication facebook-javascript-sdk selector friend


    【解决方案1】:

    这是它应该如何在页面上工作的方式吗?

    是的。直接从页面访问应用时,经过身份验证的推荐不起作用。

    是否可以为从页面访问应用程序的用户显示身份验证框?

    当然——分析 signed_request 参数,并做出相应反应(意思是,自己显示身份验证对话框,服务器端或客户端)。

    【讨论】:

      猜你喜欢
      • 2012-05-31
      • 1970-01-01
      • 2023-03-10
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多