从facebook获取长期的用户访问令牌

时间:2020-05-15 19:14:09

标签: c# asp.net facebook facebook-graph-api httprequest

当我想用C#中的GET请求与长用户令牌交换令牌时,出现此错误:

System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:连接尝试失败,因为一段时间后连接方未正确响应,或者建立的连接失败因为连接的主机无法在System.Net.ServicePoint.ConnectSocketInternal(Boolean ConnectFailure,Socket s4,Socket s6,Socket&socket,System.Net.ServicePoint.ConnectSocketInternal(EndPoint endPointSnapshot,SocketAddress socketAddress)处响应10.10.34.35:443, IPAddress&地址,ConnectSocketState状态,IAsyncResult,asyncResult,Exception&异常)-内部异常堆栈跟踪的结尾--在System.Net.HttpWebRequest.GetResponse()在insta_auth.facebook_oauth.btn1_Click(Object sender,EventArgs e)

但是当我在浏览器中复制链接并获得我的长期访问令牌时,一切都很好! 我在Facebook设置中选中了“本地或桌面应用”,但再次收到错误消息, 大家可以帮忙吗? 这是我的代码:

            string url = "https://graph.facebook.com/v7.0/oauth/access_token?grant_type=fb_exchange_token&client_id=" + FACEBOOK_APP_ID + "&client_secret=" + FACEBOOK_APP_SECRET + "&fb_exchange_token=" + accessToken;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();

            StreamReader reader = new StreamReader(resStream);

            var content = reader.ReadToEnd();
            var json = JObject.Parse(content);

            result = json.ToString();

            access_token = json["access_token"].ToString();
            token_type = json["token_type"].ToString();
            expires_in = json["expires_in"].ToString();

'''

0 个答案:

没有答案