4

Facebook Graph API( http://graph.facebook.com/btaylor)を使用してユーザーデータにアクセスすることと、Graph APIを使用して同じユーザーのFQLクエリを作成すること(https://api.facebook.com/ )の違いは何ですか。 method / fql.query?query = QUERY)。

また、Facebook Developer Toolkit(ASP.NET用)がどれを使用しているか知っている人はいますか?

私が尋ねる理由は、ユーザーが自分のサイトでFacebook Connectセッションを開始した後、ログインしたユーザーの誕生日にアクセスしようとしているのですが、ツールキットを使用しても返されません。ただし、そのユーザーオブジェクトのGraph APIを手動で呼び出すと、それが返されます。ツールキットからの呼び出しに問題がある可能性があります。セッションキーを含める必要があるかもしれませんが、取得方法がわかりません。これが私が使用しているコードです:

_connectSession = new ConnectSession(APPLICATION_KEY, SECRET_KEY);
        try
        {
            if (!_connectSession.IsConnected())
            {
                // Not authenticated, proceed as usual.
                statusResponse = "Please sign-in with Facebook.";
            }
            else
            {
                // Authenticated, create API instance
                _facebookAPI = new Api(_connectSession);

                // Load user
                user user = _facebookAPI.Users.GetInfo();

                statusResponse = user.ToString();

                ViewData["fb_user"] = user;

            }
        }
        catch (Exception ex)
        {
            //An error happened, so disconnect session
            _connectSession.Logout();
            statusResponse = "Please sign-in with Facebook.";
        }
4

3 に答える 3

8

Graph APIとFQLは、どちらも同じ基盤となるFacebookオブジェクト、つまり「ソーシャルグラフ」と総称されるノードにアクセスするという点で類似しています。Graph APIは、これらのオブジェクトにアクセスするためのシンプルで統一された、かなり直接的な方法です。探しているものが正確にわかっている場合、GraphAPIはそれを取得する簡単な方法です。

一方、FQLはクエリ言語(SQLなど)です。単純な直接グラフAPIを使用して見つけることが不可能(または複雑)なグラフオブジェクトを検索できます。

FQLがGraphAPIに対して持つもう1つの大きな機能は、複数のクエリを1つの呼び出しにバッチ処理する機能です(これにより、マルチパートクエリのラウンドトリップで多くの時間を節約できます)。

最終的に、Graph APIは、ソーシャルグラフの「裏で」起こっていることをより直接的に表現しているように見えるので、可能な場合は使用する方が簡単だと思います。しかし、Graph APIリクエストが非常に長くなったり、理解できなくなったりした場合(または、ソーシャルグラフの関連クエリを複数作成する必要がある場合)は、FQLに切り替える時期が来たことを示しています。

于 2011-12-15T03:26:52.700 に答える
0

探していた誕生日やその他の情報を取得できなかったのは、要求できるすべての拡張アクセス許可の完全なリストがなかったためと思われます。私はついにhttp://developers.facebook.com/docs/authentication/permissions(user_birthdayを含む)でリストを見つけました。

FQLとグラフオブジェクトの質問について誰かが情報を持っているなら、私はまだそれに興味があります。基本的には同じだと思いますが。

于 2010-05-05T20:11:51.957 に答える
0

それがそれを変えたように見えます(はい、もう一度)。Facebook Connectを使用しているため、ユーザーの誕生日など、必要な情報を提供するためのアクセス許可を要求できます。

<fb:login-button perms="email,user_birthday"></fb:login-button>

詳しくは:

http://developers.facebook.com/docs/guides/web#login

于 2010-05-05T20:22:49.573 に答える