3

グラフAPIを使用したMonoDevelopのC#を使用して、ユーザーのFacebookページを操作しています。

しかし、私は完全に混乱しました。

これらは正しい手順ですか?

  1. ここでFacebookアプリを作成します:http://developers.facebook.com/
  2. アプリIDとアプリシークレットを使用してプログラムでアクセストークンを取得します。

もしそうなら、どうすればこれからユーザーの壁に投稿することができますか?

私はたくさんの研究をしましたが、特に有用なものを見つけることができませんでした。

このASP.NETPostto Facebook Wallを使用してみましたが、壁に何も表示されません。

プロセスをうまくゆっくりと進めることができるチュートリアルまたは何かがありますか?

すべてのヘルプまたはポインタを高く評価します。

述べたように、私はユニティ3d、モノラルのc#、FacebookグラフAPIを使用しています。

[編集]Androidで動作させたいのですが。

4

2 に答える 2

2

C#Facebookライブラリを使用します。認証とログインを示すfacebook-aspnet-sampleというサンプルプロジェクトがあります。また、Unity3dゲームからFacebookに接続する方法を扱ったこのチュートリアルページもご覧ください。ツタンカーメンは短いですが、デモプロジェクトのダウンロードは便利です。

Unity3dからのFacebookアクセスを可能にするプラグインも販売されています。

于 2012-04-21T16:39:11.470 に答える
1

FBアプリの準備ができたら、実際、トークンを取得する必要があります。ただし、トークンは常にUSERのコンテキストで要求されるため、ユーザーはWebサイトで認証される必要があります。つまり、Facebookのログインダイアログが表示されます。これにより、ユーザーは本当にアプリケーションを信頼しているかどうかを尋ねられます。これを行うにはさまざまな方法があります-FB認証に関する一般的なページは次のとおりです: https ://developers.facebook.com/docs/authentication/ 、これはAndroidでこれを行う方法を説明しています:https://developers.facebook .com / docs / mobile / android / sso /

JavaScript認証(私はMVC3プロジェクトで個人的に使用しています)を使用したい場合は、 https: //developers.facebook.com/docs/authentication/client-side/から少し変更された例を次に示します。アプリIDと権限を必要なものに変更することを忘れないでください。

<div id="fb-root"></div>
<script>
    // Load the SDK Asynchronously
    (function (d) {
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
    } (document));

    // Init the SDK upon load
    window.fbAsyncInit = function () {
        FB.init({
            appId: '@EventController.FB_APP_ID', // App ID
            channelUrl: '//' + window.location.hostname + '/channel.htm', // Path to your Channel File
            status: false, // check login status
            cookie: false, // enable cookies to allow the server to access the session
            xfbml: false  // parse XFBML
        });

        // listen for and handle auth.statusChange events
        FB.Event.subscribe('auth.statusChange', function (response) {
            if (response.authResponse) {
                // user has auth'd your app and is logged into Facebook
                FB.api('/me', function (me) {
                    // get info about the user, for example
                })
                //document.getElementById('auth-loggedout').style.display = 'none';
            } else {
                // user has not auth'd your app, or is not logged into Facebook
                //document.getElementById('auth-loggedout').style.display = 'block';
            }
        });

        // respond to clicks on the login and logout links
        document.getElementById('auth-loginlink').addEventListener('click', function () {
            FB.login(function (response) {
                // handle the response
                if (response.authResponse != null) {
                    // HERE IS THE TOKEN YOU CAN USE
                    var token = response.authResponse.accessToken;
                } else {

                }
                // AND THESE ARE THE PERMISSIONS YOU WANT YOUR APP TO REQUEST
            }, { scope: 'manage_pages,publish_stream' });
        });
    };
</script>

ここでの1つのキャッチ-FBアプリは[アプリ]->[設定]->[ウェブサイトURL]フィールドにウェブサイトURL( http:// localhost /であっても)を持っている必要があります。また、channel.htmファイルを1行のコードを含むWebサイトのルートに配置する必要があります。

<script src="//connect.facebook.net/en_US/all.js">
于 2012-04-18T11:48:56.720 に答える