为什么Twitch API在Check By User Bycription By Channel上给我一个未记录的HTTP 404错误?

时间:2017-10-23 17:24:37

标签: c# http twitch

当尝试使用Twitch API v5检查用户是否订阅了特定频道时,我从抽搐服务器收到HTTP 404响应。根据{5}中不应发生的documentation 。如果用户未订阅,则v3用于响应http 404,但v5应始终使用json有效负载进行响应。如果用户未订阅,则所述有效载荷将具有值为404的“状态”字段。

我正在使用twitch文档提供的网址:https://api.twitch.tv/kraken/users/012345678/subscriptions/876543210

我正确连接到twitch,因为紧接在此之前执行的API请求才能获得用户及其用户ID的所有工作。

我已经测试了这个用户和未订阅该频道的用户;两者都引起同样的反应。

用于授权操作的访问令牌具有范围 user_subscription user_read

twitch API在哪种情况下会这样响应?

以下是产生此问题的代码:

twitchRequest = WebRequest.Create("https://api.twitch.tv/kraken/users/" + userId + "/subscriptions/" + DB.GetCode("TwitchChannelId"));
twitchRequest.Method = "GET";
twitchRequest.Headers.Add("Authorization: OAuth " + accessToken);
twitchRequest.Headers.Add("Client-ID: " + DB.GetCode("TwitchClientId"))
//this throws a System.Net.WebException
//The remote server returned an error: (404) Not Found.
twitchResponse = twitchRequest.GetResponse(); 

1 个答案:

答案 0 :(得分:0)

您正在请求API的默认v3,它使用用户名而不是ID。要使用v5,请添加

twitchRequest.Headers.Add("Accept: application/vnd.twitchtv.v5+json");