使用twitter获取承载令牌
我使用下面的代码返回承载令牌,但我一直得到 “远程服务器在第行返回错误:(500)内部服务器错误” “WebResponse=request.GetResponse();”使用twitter获取承载令牌,twitter,oauth,oauth-2.0,twitter-oauth,Twitter,Oauth,Oauth 2.0,Twitter Oauth,我使用下面的代码返回承载令牌,但我一直得到 “远程服务器在第行返回错误:(500)内部服务器错误” “WebResponse=request.GetResponse();” 任何建议都将是惊人的在过去,我使用了使用Twitter 1.1 API的TweetSharp。你最好在推特上使用它 TweetHub: 如果您需要一个示例或您需要的内容,请告诉我。我在浪费了很多时间后找到了解决方案。 由于使用Unicode进行base64编码,因此会出现此错误。只需将UNICODE更改为UTF8,而无需其他
任何建议都将是惊人的在过去,我使用了使用Twitter 1.1 API的TweetSharp。你最好在推特上使用它 TweetHub:
如果您需要一个示例或您需要的内容,请告诉我。我在浪费了很多时间后找到了解决方案。 由于使用Unicode进行base64编码,因此会出现此错误。只需将UNICODE更改为UTF8,而无需其他操作 最终代码:
WebRequest request = WebRequest.Create("https://api.twitter.com/oauth2/token");
string consumerKey = "31111111111111111111";
string consumerSecret = "1111111111111111111111A";
string consumerKeyAndSecret = String.Format("{0}:{1}", consumerKey, consumerSecret);
request.Method = "POST";
request.Headers.Add("Authorization", String.Format("Basic {0}", Convert.ToBase64String(Encoding.UTF8.GetBytes(consumerKeyAndSecret))));
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
string postData = "grant_type=client_credentials";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
这帮助我解决了问题,尽管我没有使用C#/.Net。
WebRequest request = WebRequest.Create("https://api.twitter.com/oauth2/token");
string consumerKey = "31111111111111111111";
string consumerSecret = "1111111111111111111111A";
string consumerKeyAndSecret = String.Format("{0}:{1}", consumerKey, consumerSecret);
request.Method = "POST";
request.Headers.Add("Authorization", String.Format("Basic {0}", Convert.ToBase64String(Encoding.UTF8.GetBytes(consumerKeyAndSecret))));
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
string postData = "grant_type=client_credentials";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();