0

私はAMFPHPを使用してFacebookAPPを開発しています。AMFPHPとFacebookSDKを機能させましたが、問題は、AMFPHPゲートウェイを介してサービスを呼び出し、FBに接続してUIDを返すサービスにアクセスすると、たとえばnull値を取得することです。私の推測では、AMFPHPサービスをFBプラットフォームに接続するのに何か問題があります。

これは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:ユーザーがログインしていて必要な権限を持っていると仮定して、サービスクラスでのログインと権限の確認をスキップしました。

4

1 に答える 1

0

AMF サービスを呼び出すユーザーのユーザー情報を取得したいようですが、問題は、appId と appSecret を使用して Facebook SDK クラスをインスタンス化すると、ユーザーがログインしておらず、アプリケーションを作成しただけであるということです。フェイスブックにつながりました。アプリケーションで Facebook ユーザー セッションを維持したい場合は、Web アプリに Facebook 接続を実装する必要があります。これにより、Facebook セッションを取得できるようになります。その後、そのセッションを使用して、ユーザーに代わって Facebook に要求を行うことができます。 . 詳細については、こちらをご覧ください。

于 2011-03-23T19:01:20.283 に答える