2016-07-20 15 views
2

我試圖對YouTube Web API進行GET調用,但我無法弄清楚如何使用http.get函數傳遞參數。我已經使用了提琴手,並確保提出要求。我目前得到一個400錯誤,說我缺少參數「部分」。我如何修改我的代碼以在我的請求中包含所需的參數?使用Angular 2中的參數對REST服務進行GET調用

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}); 
} 

您使用set方法創建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請求的必需參數。該參數標識應包含在 API響應中的一個或多個 頂級(非嵌套)資源屬性。例如,視頻資源具有以下 部分:

片段contentDetails fileDetails球員processingDetails recordingDetails統計地位的建議topicDetails

+0

這應該是一個評論。 – developer033

+0

不,這是對他關於缺少「零件」的問題的回答。有點太多的信息也可以作爲評論發佈。 –

+0

現在這是一個答案,當我評論它只是鏈接。沒問題:) – developer033

相關問題