Я пытаюсь загрузить трек с надписью YouTube API v3 (https://developers.google.com/youtube/v3/docs/captions/download) и официальный пакет .NET SDK nuget (https://www.nuget.org/packages/Google.Apis.YouTube.v3/, версия 1.9.0.1360).YouTube v3 API caption скачать с использованием пакета SDK nuget
Возвращенный поток содержит следующий текст:.
«Маркер OAuth был получен в строке запроса, который этот API запрещает для целей, отличных JSON или XML форматов ответа Если возможно, попробуйте отправить маркер OAuth в авторизации вместо заголовка. "
вместо текстового содержимого SRT, которое я только что загрузил и проверил вручную через интерфейс YouTube.com.
Я нашел тип ошибки: lockedDomainCreationFailure
Мой код:
...
_service = new YTApi.YouTubeService(new BaseClientService.Initializer {
ApplicationName = config.AppName,
ApiKey = config.DeveloperKey
});
...
public Stream CaptionsDownload(
string accessToken,
string trackId
)
{
var request = _service.Captions.Download(trackId);
request.OauthToken = accessToken;
request.Tfmt = YTApi.CaptionsResource.DownloadRequest.TfmtEnum.Srt;
var trackStream = new MemoryStream();
request.Download(trackStream);
trackStream.Position = 0;
return trackStream;
}
Я не могу найти способ, чтобы установить любые заголовки на _service.HttpClient, и я предполагаю, что я не должен делать это вручную. Я ожидаю, что DownloadRequest (или YouTubeBaseServiceRequest) поставит
/// <summary>
/// OAuth 2.0 token for the current user.
/// </summary>
[RequestParameter("oauth_token", RequestParameterType.Query)]
public virtual string OauthToken { get; set; }
в правильный заголовок авторизации. Я не вижу этого в версии 1.9.0.1360.
Возможно, я что-то не замечаю? Любая помощь приветствуется.
Примечание: Я использую другие методы, связанные с надписью, с этим SDK, и «загрузка» - это единственная проблема, с которой я столкнулся.
Я использую серверное приложение, и мой поток OAuth2 был реализован до выхода v3, и я начал использовать SDK. Брокер auth не работает для меня - пошел с http://stackoverflow.com/questions/27573272/googlewebauthorizationbroker-authorizeasync-hangs. –