Facebook Canvas App登录新用户

时间:2013-06-16 08:20:40

标签: facebook canvas login oauth

我创建了一个Facebook应用程序,如果他们使用直接服务器链接(https://www.mydomain.com/app/index.php)启动应用程序并使用登录按钮,它适用于新用户。

但如果他们尝试在facebook(https://apps.facebook.com/myapp)中使用该应用程序作为画布应用程序(第一次),那么他们会看到我的应用程序的“登陆”页面和登录按钮。但如果他们点击它,就会出现错误消息,无法显示iframe的内容。如果他们在新标签中启动应用程序,则登录过程有效。 (请参阅下面的错误,抱歉它是德语,也许您熟悉此类错误消息?)

enter image description here

如果新用户可以使用画布应用程序中的登录链接,那将是理想的。

如何实现这一目标?我的index.php看起来像这样:(我使用的是facebook SDK)

<?php

  require_once('php-sdk/facebook.php');

  $config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_APP_SECRET',
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?php
    if($user_id) {


      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'];

      } catch(FacebookApiException $e) {

        $login_url = $facebook->getLoginUrl(); 
        echo 'Please <a href="' . $login_url . '">login.</a>';
        error_log($e->getType());
        error_log($e->getMessage());
      }   
    } else {

      $login_url = $facebook->getLoginUrl();
      echo 'Please <a href="' . $login_url . '">login.</a>';

    }

  ?>

  </body>
</html>

0 个答案:

没有答案
相关问题