【问题标题】:Error getting an access token for c# webforms using facebook c# sdk使用 facebook c# sdk 获取 c# webforms 的访问令牌时出错
【发布时间】:2011-12-03 01:24:43
【问题描述】:

我已经搜索了至少 10000 个访问令牌问题,但没有找到解决问题的方法。我正在使用 facebook sdk 进行身份验证,但是当我尝试简单的 .Get on “me”时,它会出现以下错误:“(OAuthException)必须使用活动访问令牌来查询有关当前用户的信息。”我正在使用 .NET 3.5 框架,所以我不能使用“动态”。当我在“我”的位置替换一个有效的 ID 时,它会起作用并显示名称。当我尝试发布到提要时,我得到“(OAuthException)(#200)用户尚未授权应用程序执行此操作。” 任何帮助都会很棒。 谢谢。

这是我的代码:

        var webRequest = (HttpWebRequest)HttpWebRequest.Create("https://graph.facebook.com/oauth/access_token");
        webRequest.Method = "POST";
        webRequest.ContentType = "application/x-www-form-urlencoded";

        var requestString = "client_id=[appid]&client_secret=[secret]&redirect_uri=http%3A%2F%2Fwww.website.com&grant_type=client_credentials&scope=publish_stream,read_stream,offline_access";

        byte[] bytedata = Encoding.UTF8.GetBytes(requestString);
        webRequest.ContentLength = bytedata.Length;

        var requestStream = webRequest.GetRequestStream();
        requestStream.Write(bytedata, 0, bytedata.Length);
        requestStream.Close();

        var response = webRequest.GetResponse();
        var responseStream = new StreamReader(response.GetResponseStream());
        var responseString = responseStream.ReadToEnd();

        responseStream.Close();
        response.Close();

        if (!String.IsNullOrEmpty(responseString))
        {
            var accessToken = responseString.Replace("access_token=", "");
            var fb = new FacebookWebClient(accessToken.ToString());
            var me = fb.Get<FBUser>("100000219214008");
            string firstName = me.name;
            var postparameters = new Dictionary<string, object>();
            postparameters["message"] = "Hello world!";
            postparameters["name"] = "This is a name";
            postparameters["link"] = "http://thisisalink.com";
            postparameters["description"] = "This is a description";
            var result = fb.Post("/100000219214008/feed", postparameters); 
            Response.Write (firstName.ToString());
        }

【问题讨论】:

  • 关于 facebook WEBFORM 问题,似乎没有多少人以这种方式使用它。这种方法的文档方式几乎没有。所有示例都集中在 Winforms 或 MVC 上。 MVC 太臃肿了,我不明白为什么有人会想要使用它,除非他们喜欢 MVC 复杂的工作方式。我工作的一家广告公司在一个项目上花费了 75 万美元,并与一个由 10 名开发人员组成的团队 [外包] 了超过 6 个月,该项目就像 80 兆!我在 30 分钟内使用一个简单的 Web 表单和模板重新编写了该网站 - 整个项目 350 千字节。
  • Anyways.. 似乎需要 facebook sdk c# 提供有关 Web 表单的支持,因为我无法想象有人将 MVC 用于一页。想法?

标签: c# facebook-c#-sdk oauth-2.0


【解决方案1】:

在使用 Facebook C# SDK 苦苦挣扎了几天之后,我选择了使用 Facebook Javascript SDK。尽管它是客户端的,但该 SDK 具有广泛的支持、示例和文档。它只是工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多