下载用户通过twitch API订阅我的twitch



我试图通过twitch API获得订阅twitch频道的用户列表,我已经设置了获取访问令牌的请求,然后我调用API/helix/订阅/传递访问令牌以获取订阅者列表,但是我一直遇到同样的问题,我无法获得成功的请求。

Request failed with status code Unauthorized

var options = new RestClientOptions("https://id.twitch.tv/oauth2/token")
{
ThrowOnAnyError = true,
Timeout = 1000
};
var client = new RestClient(options);
var request = new RestRequest()
.AddQueryParameter("grant_type", "client_credentials")
.AddQueryParameter("client_id", clientId)
.AddQueryParameter("client_secret", clientSecret);
var response = await client.PostAsync(request);
var result = JsonConvert.DeserializeObject<OauthToken>(response.Content);
var userOptions = new RestClientOptions("https://api.twitch.tv/helix/subscriptions");
var clientR2 = new RestClient(userOptions);
var requestR2 = new RestRequest()
.AddHeader("Authorization", "Bearer " + result.access_token)
.AddHeader("Client-Id", clientId)
.AddQueryParameter("broadcaster_id", broadcasterId);
var responseR2 = await clientR2.GetAsync(requestR2);

我不确定是否这是可能的,我已经在大多数twitch API文档,我有一个类似的设置工作,只是获得"用户",但订阅似乎不工作,即使有类似的参数。

您使用了错误的oAuth流。

您需要一个代表用户的令牌,client_credentials一般来说并不代表用户,而是一个"服务器"。

所以你的令牌你没有权限阅读broadcasterId订阅。因此403/请求失败,状态码为未授权

在这里阅读更多关于官方文档:https://dev.twitch.tv/docs/authentication#user-access-tokens

您需要一个response_typecodetoken而不是client_credentials

最新更新