完璧に動作するFacebookアプリを作成したので、今はモバイルアプリをセットアップしようとしています。ドキュメントに記載されているこのコードを使用して、ユーザーがログインしているかどうかを確認し、ユーザーがログインしているかどうかを情報を転送します。
これが私が使用しているコードです:
<?php
session_start();
// Include facebook PHP SDK
require_once("lib/facebook.php");
// Configure the facebook object
$config = array();
$config['appId'] = 'APP_ID';
$config['secret'] = 'APP_SECRET';
$config['cookie'] = true;
$config['fileUpload'] = true;
$app_id = 'APP_ID';
$canvas_page = "https://hadadmin.yourwebhosting.com/mixit/mobile/";
$location = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=publish_stream,email,create_event,rsvp_event,user_events,friends_events";
// initialize the facebook oject
$facebook = new Facebook($config);
// Get Facebook User
$fbID = $facebook->getUser();
// Get the current access token
$access_token = $facebook->getAccessToken();
// check if we have valid user
if ($fbID) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$fb_user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$fbID = NULL;
// seems we don't have enough permissions
// we use javascript to redirect user instead of header() due to Facebook bug
print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';
// kill the code so nothing else will happen before user gives us permissions
die();
}
} else {
// seems our user hasn't logged in, redirect him to a FB login page
print '<script language="javascript" type="text/javascript"> top.location.href="'. $location .'"; </script>';
// kill the code so nothing else will happen before user gives us permissions
die();
}
私はすべてを検索しましたが、同様の問題の解決策はどれも機能していません(つまり、getUserは0を返します)getUserは他の投稿のように0を返しますが、私が言ったように、モバイルサイトやアプリを使用しない場合は正常に機能します.facebook.com/MYAPPおよびhttps://hadadmin.yourwebhosting.com/mixit/も機能しています。