Я пытаюсь транслировать видео с Google Диска с помощью служебной учетной записи. У меня все работает, но элементы управления видео (пауза / перемотка вперед / перемотка назад / поиск / и т. Д.) Не работают.
Я попытался использовать пару прокси-решений, но все они выдавали мне ошибку 403 в браузере. См. ProxyKit для примера того, что я пытался.
Приведенный ниже код воспроизводит видео в браузере, мне просто нужно выяснить, как заставить работать элементы управления. Я подозреваю, что мне нужно проверить заголовки и передать правильные заголовки в запрос к Google Drive.
[HttpGet("{id}")]
public async Task<IActionResult> GetAsync([FromRoute] string id, [FromQuery] int? quality)
{
HttpResponseMessage result = null;
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Authorization = await this._TokenManager.GetGoogleDriveAuthHeaderAsync();
result = await httpClient.GetAsync($"https://drive.google.com/get_video_info?docid={id}");
var actualResult = await result.Content.ReadAsStringAsync();
var videoInfo = this._VideoInfoParser.Parse(actualResult);
// Default to 360p for now
var q = videoInfo.maps.Where(m => m.quality == "medium").FirstOrDefault();
return new FileStreamResult(await httpClient.GetStreamAsync(q.url), "video/mp4");
}
}