簡體   English   中英

Facebook canvas應用程序-PHP身份驗證問題

[英]Facebook canvas application - php Auth issues

我正在用php和FBML開發Facebook畫布應用程序,並且在為應用程序設置授權時遇到問題。 我基本上不知道該怎么做,或者最好的方法是什么。

我整天大部分時間都在互聯網上搜索,但要么對舊的API問題感到迷tum,要么不知道如何實現它們所解釋的內容。

這是我所擁有的:

$facebook = new Facebook(array(
  'appId'  => '*snip*',
  'secret' => '*snip*',
  'cookie' => true,));

$session = $facebook->getSession();

$fbme = null;
if ($session) {
  try {
    $uid = $facebook->getUser();
    $fbme = $facebook->api('/me');
  } catch (FacebookApiException $e) {
      d($e);
  }
}

if (!$fbme) {
  $loginUrl = $facebook->getLoginUrl(array(
               'canvas' => 1,
               'fbconnect' => 0,
        'req_perms' => "publish_stream,user_birthday,friends_birthday,user_events,user_hometown,friends_hometown,user_location,friends_location,offline_access,"
           ));;
}

if (isset($loginUrl)) {
    echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
    exit;
}

但這無濟於事,如果我嘗試更改標題而不是使用腳本塊,則會得到:

網址...無效

我要這一切都錯了嗎?

在此先感謝您的幫助。

安迪

我的共同包括以下內容進行身份驗證:

$facebook = new Facebook(array(
    'appId'  => $ini['appid'],
    'secret' => $ini['appsecret'],
    'cookie' => true,
));

$session = $facebook->getSession();
$fbme = null;
if ($session) {
    try {
        $fbme = $facebook->api('/me');
    }
    catch (FacebookApiException $e) {
        error_log($e);
    }
}

// new login check
if (!$fbme) {
    $loginUrl = $facebook->getLoginUrl(array(
        'canvas' => 1,
        'fbconnect' => 0,
        'req_perms' => 'email',
        'next' => FB_APP_URL,
        'cancel_url' => FB_APP_URL,
    ));
    echo '<fb:redirect url="' . $loginUrl . '" />';
}

這基本上顯示了一條消息,提示您使用添加應用程序或離開; 如果它們已經通過身份驗證,則繼續處理if (!$fbme)塊之間的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM