使用facebook c# sdk获取c# webforms的访问令牌错误

本文关键字:访问令牌 webforms 错误 获取 facebook sdk 使用 | 更新日期: 2023-09-27 18:16:23

我已经搜索了至少100个访问令牌问题,但没有找到解决我的问题的方法。我正在使用facebook sdk进行身份验证,但当我尝试简单的。get on"me"时,它会出现以下错误:"(oautheexception)必须使用活动访问令牌来查询有关当前用户的信息。"我正在使用。net 3.5框架,所以我不能使用"动态"。当我在"me"中替换一个有效的id时,它会工作并显示名称。当我尝试发布到feed时,我得到了"(oautheexception)(#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 c# sdk获取c# webforms的访问令牌错误

在Facebook c# SDK上挣扎了几天之后,我选择了Facebook Javascript SDK。这个SDK有广泛的支持、示例和文档,尽管它是客户端。