2011-11-23 9 views
0

私はファンページ内のタブであるFacebookアプリケーションを持っています。Facebookのアプリリクエスト

私は署名されたリクエストを使用して、ユーザーがページを好きで、それに基づいてコンテンツを表示しているかどうかを確認しました。

また、ユーザーにログインしてアプリケーションへのアクセスを許可するよう促した後、facebookのユーザーIDを取得することもできました。

私ができないことは、「apprequests」機能が動作することです。私はこれを行う際に、2つの問題(と私はそこにあるhttps://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<form id="form1" runat="server"> 

<script type="text/javascript"> 

    window.fbAsyncInit = function() { 
     FB.init({ appId: 'myappid', xfbml: true, cookie: true, oauth: true }); 
    }; 

    function inviteFriends() { 
     FB.ui({ 
      method: 'apprequests', 
      message: 'Enter this cool competition http://www.facebook.com/pages/My-Test-Fan-Page/204123762998981?sk=app_308637695832192', 
      redirect_uri: 'http://www.facebook.com/pages/My-Test-Fan-Page/204123762998981?sk=app_308637695832192', 
      display: 'iframe' 
     }, 
      function (response) { 
       console.log(response); 
      } 
     ); 
    } 

....

:jqueryのこのバージョンを使用しています -

FYI:私はいくつかの方法、それを試してみました 1.要求が選択されたユーザーに送信されていない 2.応答の関数が呼び出されていません。 FB.uiメソッドを呼び出すと、ユーザーを選択できますが、そのときダイアログに読み込み画面が表示され、シャットダウンします。

「redirect_uri」パラメータ(これは必要ではないはずです)を含まないと、アプリケーションがコールバックURLを所有していなかったというエラーが表示されました。私もこれも動作するように表示され、それをこのよう

var message = 'Enter this cool competition'; 
       var requestUrl = 'http://www.facebook.com/dialog/apprequests?app_id=308637695832192&redirect_uri=http://localhost:51934/Default.aspx&message=' + message; 
       window.top.location.href = requestUrl; 

をやって試してみました

、私は、ユーザーを選択することができ、動作するように見える - 私は私が[0]に、とに追加されたユーザーを取得します[1]などのクエリ文字列のparamaeters。

私がやっていることは間違っていて、これを引き起こしている可能性がありますか?ユーザーにアプリケーションの認証を要求すると、標準のアクセスを要求しています。私はFacebookのドキュメントから、これがすべて必要であると言えるのです。私はページ内で何ができるのかにいくつかの制限があるならば、またさまよっていますか?

ご協力いただければ幸いです。

答えて

2

私はこの問題で一晩中取り組んでいますが、あなたが試してみる可能性のある解決策があるかもしれないと思います。

番号の場合)アプリケーション設定では、ページタブオプションのURLを設定していましたが、私はFacebookのアプリとしてアプリケーションを持っていると突然リクエストが配信され、表示されました。

番号2の場合)私はredirect_uriを設定してコールバック関数が呼び出されていないので、ダイアログが閉じます。 redirect_uriは、ディスプレイがポップアップしているときにのみ動作すると思います。 redirect_uriオプションと表示オプションを削除してみてください

ところで、私はリダイレクトURIを所有していないということについても間違いを受けていました。私は何を変更したのか分かりませんが、私はそれを得るのをやめたのですが、sdk init htmlをbodyタグの直後に移動したと思われます。https://developers.facebook.com/docs/reference/javascript/ bodyタグを閉じる直前に。お役に立てれば。

+0

#1は私の問題でしたが、これは修正されました!ありがとう! – sevenseacat