【问题标题】:C# facebook applicationC# 脸书应用程序
【发布时间】:2012-03-04 14:57:35
【问题描述】:

[我的谦虚要求:请不要仅仅通过添加一些参考问题链接来忽略这个问题。我阅读了所有我能读到的参考资料,但我没有得到我需要的]

我正在尝试制作一个需要离线访问用户详细信息的 Windows/控制台应用程序。所以我尝试了以下代码。

String finalRedirectUri = "https://www.facebook.com/dialog/oauth?client_id=" + 
    _appKey2 + "&redirect_uri=" + _SiteURL + "&scope=email,read_stream";
String GraphUri = "https://graph.facebook.com/oauth/access_token?client_id=" + 
    _appKey2 + "&redirect_uri=" + _SiteURL + "&scope=email,read_stream";

FacebookClient client = new FacebookClient(_appKey2, _secret2);
FacebookOAuthClient oAuthClient = 
    new FacebookOAuthClient(FacebookApplication.Current);
oAuthClient.AppId = _appKey2;
oAuthClient.AppSecret = _secret2;
oAuthClient.RedirectUri = new Uri(finalRedirectUri);
String Uri = oAuthClient.GetLoginUrl().ToString();

try
{
    dynamic tokenResult = 
        oAuthClient.ExchangeCodeForAccessToken("offline_access");
}
catch (Exception exp)
{
    MessageBox.Show("" + exp.Message);
}

我总是收到错误消息:“(OAuthException) 验证码格式无效” 我在 stackoverflow 和 http://developers.facebook.com/docs/authentication/ 中搜索了许多链接,但它并没有帮助我找到解决方案。我什至不知道使用哪个 uri。 我正在使用 Visual Studio 2010 [请不要仅仅通过标记为重复来忽略这个问题] 请对我温柔一点..

【问题讨论】:

    标签: c# facebook


    【解决方案1】:

    如果您下载了已编译的 facebook dll(例如从 NuGet),则它可能构建得很糟糕。尝试下载源代码并自己编译并使用该 dll。 这是一个 post 的示例,有同样的问题。
    注意即使他们的问题给出了不同的错误,也有可能这正是你的问题有,因为它在同一个函数中,你的变体可能只是遇到了另一个错误。

    以下是您可能遇到的另外两个问题:
    Sometimes, redirect uri should be null
    OAuth really likes the '/' at the end of a uri

    【讨论】:

    • @Shingestu, _appKey2 和 _secret2 是正确的格式,只是因为当我在调试模式下运行 appln 时,我在 finalRedirectUri 中得到了一个值,当我复制到浏览器地址栏时,它重定向到屏幕以供申请批准.谢谢 Shingestu,我希望我的意思很清楚。
    • 难道 FacebookApplication.Current 不是 oAuthClient 的有效构造函数参数吗?
    • 错误出现在哪一行?请通过调试器运行它。
    • 我从 try 中编写的代码中遇到错误。我尝试使用“code”而不是“offline_access”运行
    • 你从哪里得到的 facebook dll?
    猜你喜欢
    • 2012-03-17
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多