1

特定のプロファイル ID について、自分のサイトからメッセージを投稿する必要があります。Facebook.Rest.ApiAPIを使用してFacebookアプリを作成しました。投稿には成功しましたが、認証されていない ID については、認証ログイン ページにリダイレクトしたいと考えています。

(window.top.location.href = "https://www.facebook.com/dialog/oauth?client_id=XXXXX&redirect_uri=http://XXXX.com&scope=publish_stream";)

ユーザーが Facebook Connect を使用して既に許可を与えているかどうかを確認し、プロファイル ID がまだ許可されていない場合に備えて、上記のコードを使用してログイン ページを表示しています。だから私はログインページを期待していますが、代わりにそれをバイパスしてリダイレクトURLを表示します.

許可を確認するためにFacebookに接続せずに個別に試してみると、正常に動作します。誰かが解決策を知っていますか?

4

1 に答える 1

0

そのため、SDK/Facebook は、Perms 設定に渡す内容によって、ユーザーに何かを行う許可を求めるタイミングを認識しています。フィードに投稿する必要がある場合は、このように CanvasAuthorizer にパーミッション「publish_stream」を追加します。

var auth = new CanvasAuthorizer { Perms = "user_about_me,publish_stream" };

次に、ユーザーがそのアクセスを許可したかどうかを確認するだけです。

    if (auth.Authorize())
    {
        var client = new FacebookClient(auth.Session.AccessToken);
        dynamic parameters = new ExpandoObject();
        parameters.message = "Test App Message";
        parameters.link = "http://www.example.com/article.html";
        parameters.picture = "http://www.example.com/article-thumbnail.jpg";
        parameters.name = "Test App Article Title";
        parameters.caption = "Test App Caption for the link";
        parameters.description = "Test App Longer description of the link";
        parameters.actions = new
        {
            name = "View on Zombo",
            link = "http://www.zombo.com",
        };
        dynamic result = client.Post("me/feed", parameters);
    }else
    {
        //code what to do if the user does not give you publish Perms
    }
于 2011-03-19T06:19:43.553 に答える