2012-03-07 27 views
0

私はかなり簡単なサイトを持っており、ユーザーはfacebook経由で接続できます。C#facebook SDKでfacebookパーミッションを取得できません

私はC#facebook sdk MVCを使用しています。

まず、特定の許可は必要ありませんでしたので、ユーザーが接続する際に問題はありませんでした。ようになった

[CanvasAuthorize(Permissions = "user_about_me,user_relationships,email,publish_stream")] 
public ActionResult Profile() 

- 私のコードは、私は自分の行動にCanvasAuthorizeを追加しましたので、私はより具体的な権限を必要として、この

public class FacebookController : BaseController 
{ 
    public FacebookSession FacebookSession 
    { 
     get { return (new CanvasAuthorizer().Session); } 
    } 
    public ActionResult Profile() 
    { 
     var client = new FacebookClient(this.FacebookSession.AccessToken); 
     dynamic me = client.Get("me"); 
     ViewBag.Name = me.name; 
     ViewBag.Id = me.id; 
     return View(); 
    } 
} 

のように、しばらくした後、私のWebConfig

<facebookSettings appId="XXXXXXXXXXXXXX" appSecret="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"/> 

に見えました私はこの例外: 例外の詳細:System.Exception:CanvasUrlがnullまたは空です

は、だから私はcanvasPageはだから今私のWeb設定がだから今、私のユーザーはFacebook経由でログインすることができ、すべての4

<facebookSettings appId="XXXXXXXXXX" appSecret="XXXXXXXXXXXXXXXXXXXXx" canvasUrl = "http://localhost:60606/" canvasPage = "https://apps.facebook.com/XXXXXXXXXXXX/"/> 

を持って出てくれ同じエラーを得た私のWebConfigのcanvasUrlに追加し、私の問題があるときに彼は私のFacebookアプリ(http://apps.facebook.com/XXXXXXXXX/facebook/profile)の代わりに戻って自分のサイトに

にリダイレクトなってきている中で、彼はログインしない(ます。http:// localhostを:60606/facebook/profile

どうすればPe彼がログインした後に私の必要なサイトを私のサイトにリダイレクトする必要がありますか?

おかげ

答えて

0

まあ、私の悪い

CanvasAuthorizeは、それが聞こえると同じようにキャンバスの認可です。 Facebookのアプリキャンバスなしで使うことはできません。私が行っているはずです何

はFacebookOAuthClient

var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current); 
oAuthClient.RedirectUri = new Uri("XXXXXXXXXXXXXX"); 
var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", null }, { "scope", "user_about_me,user_relationships,email" } }); 
return Redirect(loginUri.AbsoluteUri); 
に使用しています
関連する問題