【问题标题】:How to check whether profile Id permissions and accordingly redirect to authorize page using Facebook.Rest.Api?如何使用 Facebook.Rest.Api 检查配置文件 ID 权限并相应地重定向到授权页面?
【发布时间】:2011-03-16 11:10:50
【问题描述】:

对于给定的个人资料 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 来检查权限,它工作正常。 有谁知道解决办法吗?

【问题讨论】:

    标签: facebook-c#-sdk facebook-rest-api


    【解决方案1】:

    因此,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
        }
    

    【讨论】:

    • 感谢您的回复,但我还是做不到?
    • 我想要基于 asp.net 2.0/visual studio 2005 的示例代码。我可以使用 twitter API 来做到这一点,每个用户都将获得访问令牌和访问密码,我可以只要求用户一次授权 twitting 并成功发布到他的 Twitter。同样的方式我怎么能做到这一点关于facebook - 意味着只有一次授权和下一次发送帖子我也可以有一个示例代码。我知道很多文章/文档/论坛,但我在某处遗漏了一些东西你能帮我吗?
    • 据我所知 Facebook C# SDK 需要 Net Framework 3.5 或更高版本。根据 CodePlex 站点。使用 .Net Framework 3.5 的系统要求 .Net Framework 3.5 客户端配置文件 .Net Framework 4.0 .Net Framework 4.0 客户端配置文件 Silverlight 4 Windows Phone 7 For Development Visual Studio 2010
    猜你喜欢
    • 2012-03-20
    • 1970-01-01
    • 2016-05-21
    • 2012-03-13
    • 2016-12-08
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多