2011-08-04 16 views
2

私はFacebookアプリケーションを作成しようとしており、ユーザーがアプリケーションを開くときにFacebookからユーザーIDが必要です。 Facebookのキャンバスに自分のアプリケーションとそのショーモックフォームを設定しました。Facebook APIと私のページを接続する際に助けが必要です。そのためにAPIをダウンロードする必要がありますか?そして、facebookがアプリケーションに送信すると言うJSONオブジェクトからユーザーIDを取得するにはどうすればよいですか?PHPでFacebookからユーザーIDを取得

私のテストアプリケーションは、プロセスである:これは、Facebook上で作業している

<?php 

echo "this is working"; 

?> 

答えて

8

ユーザーIDを取得するためにPHP SDK

非常に簡単なコード例をダウンロード - あなたのユーザーIDを与えるユーザーがログインしていると$facebook->getUser()、アプリケーションを承認した場合:

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
)); 

// Get User ID 
$user = $facebook->getUser(); 

if ($user) { 
    try { 
    // Get the user profile data you have permission to view 
    $user_profile = $facebook->api('/me'); 
    echo "<pre>"; 
    print_r($user_profile); 
    echo "</pre>"; 
    } catch (FacebookApiException $e) { 
    $user = null; 
    } 
} else { 
    die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>'); 
} 

テイクをSDK内の例とFacebook Developers Siteの例を見てください。ここで

0

は、彼がログインまたはアプリ https://github.com/invisiblevision/get-facebook-id/

<?php 
$profile_url = 'https://facebook.com/profileUrl'; 
function get_web_page($url) 
    { 
     $user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0'; 
     $options = array(
      CURLOPT_CUSTOMREQUEST =>"GET",  //set request type post or get 
      CURLOPT_POST   =>false,  //set to GET 
      CURLOPT_USERAGENT  => $user_agent, //set user agent 
      CURLOPT_COOKIEFILE  =>"cookie.txt", //set cookie file 
      CURLOPT_COOKIEJAR  =>"cookie.txt", //set cookie jar 
      CURLOPT_RETURNTRANSFER => true,  // return web page 
      CURLOPT_HEADER   => false, // don't return headers 
      CURLOPT_FOLLOWLOCATION => true,  // follow redirects 
      CURLOPT_ENCODING  => "",  // handle all encodings 
      CURLOPT_AUTOREFERER => true,  // set referer on redirect 
      CURLOPT_CONNECTTIMEOUT => 120,  // timeout on connect 
      CURLOPT_TIMEOUT  => 120,  // timeout on response 
      CURLOPT_MAXREDIRS  => 10,  // stop after 10 redirects 
     ); 
     $ch  = curl_init($url); 
     curl_setopt_array($ch, $options); 
     $content = curl_exec($ch); 
     $err  = curl_errno($ch); 
     $errmsg = curl_error($ch); 
     $header = curl_getinfo($ch); 
     curl_close($ch); 
     $header['errno'] = $err; 
     $header['errmsg'] = $errmsg; 
     $header['content'] = $content; 
     return $header; 
    } 

/*Getting user id */ 
$url = 'http://findmyfbid.com'; 
$data = array('url' => $profile_url); 
// use key 'http' even if you send the request to https://... 
$options = array(
    'http' => array(
     'header' => "Content-type: application/x-www-form-urlencoded\r\n", 
     'method' => 'POST', 
     'content' => http_build_query($data), 
    ), 
); 
$context = stream_context_create($options); 
$result = file_get_contents($url, false, $context); 
function getData($data) 
{ 
    $dom = new DOMDocument; 
    $dom -> loadHTML($data); 
    $divs = $dom -> getElementsByTagName('code'); 
    foreach ($divs as $div) 
    { 
      return $div -> nodeValue; 

    } 
} 
$uid = getData($result); // User ID 
によって許可されていない場合でも、任意のFacebookのユーザーIDを取得することができます私が書いたハックコードの一種であります
関連する問題