2011-09-12 4 views
7

私はFacebookアプリケーションで作業しています。そして、C#SDKを使用して、友人をアプリケーションに招待するようにユーザーに指示しています。 Facebook documentationFacebookアプリケーションリクエストを処理するには?

に示すように、ユーザの友人は、それがapplication permission request pageが表示されないを受け入れるアプリケーション要求を受け取り、をクリックしたときに私の問題があります。

ユーザーをapplication permission request pageにリダイレクトするための余分な手順を実行する必要がありますか?

答えて

2

私は自分のアプリケーションのキャンバスページ上の許可を求めると、ユーザーが受け入れる場合は、クエリ文字列と同じページにリダイレクト開始ソリューションに

を見つけました。完璧なソリューションではないが、それは正常に動作します

0

http://developers.facebook.com/docs/reference/dialogs/oauth/に表示されている許可をユーザーに依頼する必要があります。友人を招待している最初のユーザーのアクセス許可をどうやって取得しましたか?彼をそのページにリダイレクトすることができます。または、アプリケーションのリクエストを処理するページで、アプリケーションのアクセス許可をチェックできます。ユーザーが許可を与えない場合、ユーザーは簡単に許可を求めるでしょう。

既にアプリケーションを使用しているユーザーでも権限を取り消すことができるため、アクセス許可を常に確認する必要があります。

0

デフォルトでは、Facebook application requestを受け入れると、ユーザーはアプリケーションのメインページにリダイレクトされます。メインページを表示するためにFacebookのアクセス許可が必要なアプリケーションの場合は、すべての訪問者があなたのアクセス許可を受け入れているかどうか確認し、そうでない場合はOAuth permissions dialogにリダイレクトする必要があります。 Facebookのドキュメントでは、ユーザーがアプリケーションにアクセスした後に受け入れられたリクエストを、クエリ文字列で送信されるrequest_idsパラメータを通じて削除することが推奨されています。

0

アプリケーションの許可リクエストページはどういう意味ですか?これは、ユーザーが第三者のアプリケーションに自分のFacebookのデータにアクセスする権限を与えているのでしょうか?

私は他の答えに同意します。ユーザーが自分のFacebookアカウント内からアプリリクエスト通知アイコンをクリックすると、アプリケーションのキャンバスページにリダイレクトされ、リクエストにアプリケーションで生成されたrequest_idのリストが表示されます。

facebookのrequest_idsを読んだ後、受け取ったrequest_idsについてFacebookにリクエストしてから、その情報の処理方法を決定することができます。データパラメータを渡して、アプリリクエストの生成方法に関する追加情報を提供することができます。

最後に、取得した情報に基づいて、任意のページにユーザーをリダイレクトできます。

希望これはアプリのメインページコントローラでMVC3でhttp://facebooksdk.codeplex.com/を使用している場合は、権限のないユーザーのためにリダイレクトを提供しなければならない場合

1

を支援します。

var fbWebContext = FacebookWebContext.Current; 
if (fbWebContext.IsAuthorized() && fbWebContext.UserId > 0) 
{ 
    try 
    { 
     var fb = new FacebookWebClient(fbWebContext); 
     dynamic result = fb.Get("/me"); 
    } 
    catch (FacebookOAuthException) 
    { 
     var redirectString = string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&type=user_agent&display=page&scope={2}", 
           Facebook.FacebookApplication.Current.AppId, 
           FacebookWebContext.Current.Settings.CanvasPage, 
           "email, publish_actions" 
          ); 
     Response.Redirect("redirectString"); 
    } 
} 
+0

+1、私はMVCを使用していない – Hiyasat

0

ユーザーであるかどうかをチェックする必要がありrequest_idsパラメータが存在する場合、リクエストからアプリケーションにアクセスします。そうであれば、許可を求めるページと表示されている未処理リクエストのリストにユーザーをリダイレクトする必要があります。

関連する問題