[英]Node https not resolving URL
我有一個小問題,希望您能幫助我。 我們曾經有一個開發人員,他重構了一些代碼,但現在不起作用。
const request = require('request'),
API_KEY = '',
https = require('https');
class ImageService {
getActorImage(name) {
return new Promise((resolve, reject) => {
request.get(`https://api.themoviedb.org/3/search/person?api_key=${API_KEY}&language=en-US&query=${name}`, (error, response, body) => {
if (error) {
// todo: handle the error
reject(error);
}
// todo: what if there are multiple results?
var bodyAsObject = JSON.parse(body);
var actor = bodyAsObject.results[0];
https.get(`https://image.tmdb.org/t/p/w300_and_h450_bestv2${actor.profile_path}`, function (profileResponse) {
var image_data = '';
profileResponse.setEncoding('binary');
profileResponse.on('data', function (chunk) {
image_data += chunk
});
profileResponse.on('end', function () {
resolve(image_data)
});
});
});
});
}
getBackdropImage(backdropPath) {
return new Promise((resolve) => {
https.get(`https://image.tmdb.org/t/p/original${backdropPath}`, function (backdropResponse) {
var image_data = '';
backdropResponse.setEncoding('binary');
backdropResponse.on('data', function (chunk) {
image_data += chunk
});
backdropResponse.on('end', function () {
resolve(image_data)
});
});
});
}
getPosterImage(posterPath) {
return new Promise((resolve) => {
https.get(`https://image.tmdb.org/t/p/original${posterPath}`, function (posterResponse) {
var image_data = '';
posterResponse.setEncoding('binary');
posterResponse.on('data', function (chunk) {
image_data += chunk
});
posterResponse.on('end', function () {
resolve(image_data);
});
});
});
}
getPosterAndBackdropPath(imdbid) {
return new Promise((resolve) => {
request.get(`https://api.themoviedb.org/3/find/${imdbid}?api_key=${API_KEY}&language=en-US&external_source=imdb_id`, (error, response, body) => {
var responseAsObject = JSON.parse(body);
var movie = responseAsObject.movie_results[0];
var posterPath = movie.poster_path;
var backdropPath = movie.backdrop_path;
resolve({ poster_path: posterPath, backdrop_path: backdropPath });
});
});
}
}
module.exports = new ImageService();
現在我的問題是,即使actor.profile_path中有數據,它也無法將其解析為實際路徑。 對於使用$ {}的所有其他內容也是如此。
如果您能在這里幫助我,將不勝感激
UPDATE
現在已經在Windows,Mac和Ubuntu上進行了測試,僅在Mac上有效
有任何想法嗎?
提前致謝
托馬斯
帶${}
的字符串必須包含在` ( 反引號 )內。
例如:
https://api.themoviedb.org/3/search/person?api_key=${API_KEY}&language=en-US&query=${name}
應該更改為( 注意開始和結束處的反引號 ):
`https://api.themoviedb.org/3/search/person?api_key=${API_KEY}&language=en-US&query=${name}`
另一個例子:
https://image.tmdb.org/t/p/original${posterPath}
應該更改為:
`https://image.tmdb.org/t/p/original${posterPath}`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.