gpt4 book ai didi

twitter - 连接到 Twitter - RestSharp OAuth2

转载 作者:行者123 更新时间:2023-12-04 21:17:43 25 4
gpt4 key购买 nike

我正在尝试使用这些说明连接到 Twitter API

https://dev.twitter.com/docs/auth/application-only-auth

这是我的代码:

var baseUrl = "http://api.twitter.com/";
var client = new RestClient(baseUrl);
var request = new RestRequest("/oauth2/token", Method.POST);

var concat = ConfigurationManager.AppSettings["TwitterConsumerKey"] + ":" +
ConfigurationManager.AppSettings["TwitterConsumerSecret"];

string encodeTo64 = concat.EncodeTo64();

request.AddHeader("Authorization", "Basic " + encodeTo64);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
request.AddBody("grant_type=client_credentials");
IRestResponse restResponse = client.Execute(request);

编码到64
static public string EncodeTo64(this string toEncode)
{
byte[] toEncodeAsBytes
= System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);
string returnValue
= System.Convert.ToBase64String(toEncodeAsBytes);
return returnValue;
}

Response.Content 如下
"{\"errors\":[{\"code\":170,\"label\":\"forbidden_missing_parameter\",\"message\":\"Missing required parameter: grant_type\"}]}"

这部分有错吗?
request.AddBody("grant_type=client_credentials");

我已经验证我的凭据是正确的(我之前遇到过该错误,但已解决,所以应该没问题)。

最佳答案

Twitter 页面上的说明让我感到困惑。 “请求的正文必须是 grant_type=client_credentials。”

至于Restsharp,不是AddBody,而是AddParameter。

所以:

request.AddParameter("grant_type", "client_credentials");

关于twitter - 连接到 Twitter - RestSharp OAuth2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18980056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com