2011-01-10 5 views
1

を取得し、招待:Facebookのアプリケーションは、私は友人が、以下のものを使用して対話を招待示し(たとえばmydomain.com上でホストされている)のiFrame FBアプリを持って招待し、友人のリスト

<body> 
<fb:serverFbml> 
    <script type="text/fbml"> 
     <fb:fbml> 
      <fb:request-form action="http://mydomain.com/InviteSent.aspx" method="GET" invite="true" type="Game" 
       import_external_friends="true" style="background-color:#000" 
       content="Hey! Come join me, I'm online now! &lt;fb:req-choice url=&quot;<%=gameUrl%>; label=&quot;Come and play!&quot; /&gt;"> 
       <fb:multi-friend-selector max="30" cols="3" rows="4" showborder="true" condensed="false" actiontext="Invite your friends to come and play!" /> 
      </fb:request-form> 
     </fb:fbml> 
    </script> 
</fb:serverFbml> 
</body> 

でコールバック/アクションページを私の問題は、招待された人のFacebook IDを取得することにあります。

if(Request["ids"] != null) 
    ((Site)Master).FbInviteSent(Request.QueryString.GetValues("ids")); 

「人々がアプリを追加するとき、私はまた、認可権限を設定しているので、私はドン:FBのドキュメントには、私のコードの後ろに(C#ASP.netを)これを持っているので、彼らは、フォーム投稿を「IDS」にする必要がありますと言います問題はそれと関係があると信じています。

事前にお手伝いをしてください。

答えて

0

問題が見つかりました。これはC#でids []値を取得することに関連していました。私は文字列配列がHTTP POST/GETパラメータとして渡されるのを見たことがありませんでした。以下は修正されたコードです:

if(Request["ids"] != null) 
    ((Site)Master).FbInviteSent(Request.QueryString["ids[]"].ToString().Split(',')); 

Roozbeh、

私はあなたのiFrameに ない事実..in FBML

あなたが推測する必要はありませんでしたを使用していることを推測している、私は明らかに私の最初の記事であることを述べました。とにかく、他人を助けることに感謝と希望。

1

上記のコードから、FBMLではなくiFrameを使用していると推測しています。何が起こるかは、招待ページの次のページが「apps.facebook.com/something」ページである場合、ユーザーは宛先ページに着く前に3ページ目にリダイレクトされます。従って、ユーザーがあなたの目的地のページに来るまでに、すべてのポスト変数は失われます。

これは単純に、Facebookの外にユーザーをリダイレクトすることです。招待された友だちには何でもしてください。完了したら、ユーザーをフェイスブックページに戻します。

私は役立つことを願っています。 -Roozbeh

+0

ありがとうございますが、私は同じドメインにリダイレクトしています(これを示すためにコードを少し更新しました)。 – Daniel

0

Roozbeh15は正しいかどうか分かりませんが、私はPHP経由でマルチプルセレクターを使用しています。 action = 'URL'はFacebookのアプリケーションの外側にあるため、target = "_ top"がタグ内に存在しないようにする必要があります。

これは他の誰かが招待された人のIDを取得するのに役立ちます。

関連する問題