1

对于给定的个人资料 ID,我需要从我的站点发布消息。Facebook.Rest.Api我使用API创建了一个 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 设置的内容来请求用户允许做某事。如果您需要发布到那里的提要,请像这样将权限“publish_stream”添加到 CanvasAuthorizer。

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 回答