2010-12-28 13 views
0

私はFacebookに接続しているウェブサイトを構築しようとしています。私はFacebookのAPIドキュメントとWeb上の例(SOを含む)に本当に苦労しています。 APIが絶えず変化しているため、利用可能な情報のほとんどは有効ではありません。 Facebook C# SDKとの組み合わせを使用して、ユーザーがFacebookにログインし、自分のWebサイトoffline_access(これはシステムのWPFクライアントの側面)のアクセス許可を与え、基本的な友達情報を引き出すことができました。私は友人の招待状を作成して壁を打った。私はFacebookのドキュメンテーションに従って、声を出しました。私は不必要なコードを削除して、ポストを短く保った。Facebookの友人は外部のウェブサイトを招待する

<div id="fb-root"> 
    <fb:serverFbml style="width: 755px;"> 
     <script type="text/fbml"> 
      <fb:fbml> 
       <fb:request-form method="POST" invite="true" type="My App Name" 
       content="You have been invited to xxxx. <%= Server.HtmlEncode(@"<fb:req-choice url=""http://apps.facebook.com/appname/"" label=""OK"" />") %>" > 
        <fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use this application." /> 
        <fb:request-form-submit /> 
        </fb:request-form> 
      </fb:fbml> 
      </script>      
    </div> 
    <form id="MainForm" runat="server"> 
      <asp:ContentPlaceHolder ID="MainContent" runat="server" /> 
    </form> 

    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script> 
    <script type="text/javascript"> 
     FB.init({ 
      appId: 'xxxxx', 
      status: true, 
      cookie: true, 
      xfbml: true 
     }); 
    </script> 

私はエラーを受け取りませんが、コードは友人招待コントロールを表示しません。私はJava Script Test Consoleでそれをチェックして、それをレンダリングします。私が間違っていることが明らかな何かがあるので、私は本当にこれについていくつかの助けに感謝します。ダムの質問を書くために私に火をつけ始める前に、必要な情報があれば教えてください。

答えて

2

私もこのような状況にあり、どういうわけか私はそれを解決しました。

コードは次のとおりです。

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:fb="http://www.facebook.com/2008/fbml"><body> 
<div id="fb-root"></div> 
<script type="text/javascript"> 
window.fbAsyncInit = function() { 
     FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true}); 
    }; 
    (function() { 
     var e = document.createElement('script'); 
     e.type = 'text/javascript'; 
     e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
    window.fbAsyncInit = function() { 
     FB.init({appId: 'APP_ID', status: true, cookie: true, xfbml: true});   

      FB.Event.subscribe('auth.login', function(response) { 
       login(); 
      }); 
      FB.Event.subscribe('auth.logout', function(response) { 

       logout(); 
      });   
      FB.getLoginStatus(function(response) { 
       if (response.session) { 
        login(); 
       } 
      }); 
     }; 
</script> 
<div id='outside_invite_box' style='display: none;'></div> 
<div id='inside_invite_box'><fb:serverfbml width="615"> 
    <script type="text/fbml"> 
     <fb:request-form action="friends.php" 
      method="POST" 
      invite="true" 
      type="Invite"   
      content="Welcome to MyApp <fb:req-choice url='http://example.com' label='Join' />"> 
      <fb:multi-friend-selector showborder="false" 
       bypass="cancel" 
       cols=4 
       rows=5 
       max=14 
       actiontext="Select Facebook Friends"/> 
     </fb:request-form> 
    </script> 
</fb:serverfbml></div> 
</body> 
</html> 

私はそれが便利だと思います。

+0

あなたが指定したコードがレンダリングされます。私はまだいくつかの問題を抱えていますが、少なくとも出発点はあります。あなたのコードと私の間に見られる唯一の違いは、FBライブラリの非同期ロードです。なぜこの問題が解決されるのでしょうか? – Carlosfocker

+0

申し訳ありませんyar ..私はまた、facebookへの初心者です。もし私がここに置く情報があれば.. – Damodaran

-1

あなたがRoRのを使用している場合は、宝石をチェックアウトRestClientとFbGraph

はRoRの使用を開始:)

関連する問題