2011-03-23 6 views
0

AMFPHPでFacebook APPを開発しています。私はAMFPHPとFacebook SDKを手に入れました。私の問題はAMFPHPゲートウェイを介してFBに接続してUIDを返すサービスにアクセスするサービスを呼び出すと、null値が返されるということです。私の推測では、何か間違ってAMFPHPサービスをFBプラットフォームに接続しようとしているということです。AMFPHP + Facebook

これはgateway.php

<?php 

define("PRODUCTION_SERVER", false); 

include "libraries/amfphp/globals.php"; 
include "libraries/amfphp/core/amf/app/Gateway.php"; 

$gateway = new Gateway(); 

$gateway->setClassPath("./services"); 
$gateway->setClassMappingsPath("./services/vo"); 

$gateway->setCharsetHandler("utf8_decode", "ISO-8859-1", "ISO-8859-1"); 
$gateway->setErrorHandling(E_ALL^E_NOTICE); 

if(PRODUCTION_SERVER) 
{ 
    $gateway->disableDebug(); 
    $gateway->disableStandalonePlayer(); 
} 

$gateway->enableGzipCompression(25*1024); 
$gateway->service(); 

?> 

であり、これはテストサービスである:

<?php 

require_once("../libraries/facebook.php"); 

class Test 
{ 
    public function uid() 
    { 
     $facebook = new Facebook(array(
      'appId' => 'XXXXXXXXXXXX', 
      'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXX', 
      'cookie' => false, 
     )); 

     $session = $facebook->getSession(); 
     return $facebook->getUser(); 
    } 
} 

誰もが私が間違っているかもしれないものを知っていますか?

PS:ユーザーがログインして必要な権限を持っていることを前提として、サービスクラスのログインとアクセス許可の確認をスキップしました。

答えて

0

AMFサービスを呼び出すユーザーのユーザー情報を取得したいようですが、問題は、appIdとappSecretでFacebook SDKクラスをインスタンス化すると、ログインしているユーザーがいないことですあなたのアプリケーションがFacebookに接続されたばかりです。アプリケーションでFacebookユーザーセッションを維持したい場合は、WebアプリケーションにFacebook接続を実装する必要があります。これにより、Facebookセッションを取得できるようになり、そのセッションを使用して、ユーザーの代わりにFacebookに要求できます。あなたはそれについての詳細を読むことができますhere

関連する問題