当尝试使用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();
答案 0 :(得分:0)
您正在请求API的默认v3,它使用用户名而不是ID。要使用v5,请添加
twitchRequest.Headers.Add("Accept: application/vnd.twitchtv.v5+json");