API загрузки видео Youtube из angular 8 приводит к ошибке синтаксического анализа - PullRequest
0 голосов
/ 20 июня 2020

пытается подключиться к Youtube из моего angular веб-приложения, чтобы загрузить видео на мой канал.

public uploadVideoToYouTube(token, obj) {
    let newHeader = {
        'Authorization': 'Bearer ',
        'Accept': 'application/json',
        'Content-Type': 'application/json',
    }
    newHeader.Authorization = newHeader.Authorization + token;
    console.log(obj);
    const httpOptions3 = {
        headers: new HttpHeaders(newHeader)
    };
    let formData = new FormData();
    let snippet = {
        description: obj.snippet.description,
        title: obj.snippet.title,
        // tags: obj.snippet.tags
    };

    formData.append('snippet', JSON.stringify(snippet));
    formData.append('video', obj.snippet.video);


    return this.http.post<any>('https://www.googleapis.com/youtube/v3/videos?part=snippet%2Cstatus&key=' + environment.API_KEY, formData, httpOptions3)
        .pipe(
            catchError(this.handleError)
        );
}

Но когда я вызываю этот API, я получаю ответ об ошибке синтаксического анализа.

1 Ответ

0 голосов
/ 20 июня 2020

Согласно docs , вы не должны были публиковать метаданные вашего видео как FormData (ie. Multipart / form-data), а вместо video resource JSON текст, как указывает ваш Content-Type заголовок.

Обратите внимание, что вы вызываете неправильную конечную точку API, так как для загрузки видео вы должны вызвать эту:

https://www.googleapis.com/upload/youtube/v3/videos.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...