2016-07-20 2 views
2

Я пытаюсь сделать GET-вызов в веб-API YouTube, но я не могу понять, как передавать параметры с помощью функции http.get. Я использовал скрипача и убедился, что запрос сделан. В настоящее время я получаю ошибку 400, заявляя, что мне не хватает параметра «Часть». Как я могу изменить свой код для включения необходимых параметров в мой запрос?Сделать GET-вызов для службы REST с параметрами в Angular 2

private _url = 'https://www.googleapis.com/youtube/v3/'; 
private _key = ''; 

getPlaylistVideos(playlistId, pageToken){ 

    var url = this._url + "playlistItems"; 
    var options = { part: 'snippet', maxResults: 50, playlistId: playlistId, key: this._key, pageToken: pageToken } 

    return this.http.get(url, options); 

} 

ответ

1

Вам нужно включить поиск Params в ваш запрос. Я думаю, что это будет работать для вас:

getPlaylistVideos(playlistId, pageToken) { 
    let url = `${this._url}playlistItems`, 
     options = { part: 'snippet', maxResults: 50, playlistId: playlistId, key: this._key, pageToken: pageToken }, 
     params = URLSearchParams(); 

    for (let key in options) params.set(key, options[key); 

    return this.http.get(url, {search: options}); 
} 

Вы создаете URLSearchParams с помощью метода набора вы можете найти полную документацию here

0

Пожалуйста, посмотрите на уже задавала & решен вопрос относительно AngularJS & YouTube V3 API. See here благодаря @Sandeep Sukhija.

Во всяком случае, о пропавшем параметра part, добавить его в запрос ех: part: 'snippet'

Пример кода:

function getPlaylistVideos(playlistId, pageToken) { 
    // pass the page token as a parameter to the API 
    $.get('https://www.googleapis.com/youtube/v3/playlistItems', { part: 'snippet', maxResults: 50, playlistId: playlistId, key: key, pageToken: pageToken }) 
} 

Как использовать параметр часть

Параметр часть требуемый параметр для любого запроса API, который извлекает или возвращает ресурс. Параметр идентифицирует один или несколько свойств верхнего уровня (не вложенных) ресурсов, которые должны быть включены в ответ . Например, видео ресурс имеет следующие части:

сниппет contentDetails fileDetails игрок processingDetails Статистика recordingDetails предложения Статус topicDetails

+0

Это должно быть комментарий. – developer033

+0

Нет, это ответ на его вопрос о недостающей «части». Немного слишком много информации, чтобы опубликовать комментарий. –

+0

Теперь это ответ, когда я прокомментирую, что это была только ссылка. Нет проблем :) – developer033

Смежные вопросы