我正在尝试回显通过Netflix API生成的网址。 URL保存在变量$ movieid中,当'echo $ movieid;'时键入它是有效的。我需要从PHP中获取价值并进入Netflix提供的JavaScript,这就是我遇到问题的地方。
假设我有titleID = 7474747。当我输入以下代码时:
$movieid = "http://api.netflix.com/catalog/movie/".$titleID;
echo $movieid;
我得到以下输出:
[http]://api.netflix.com/catalog/movie/7474747
但使用以下代码时:
<div id="myMovieLocation">
<?php echo "<img src=\"$img\" />"; ?>
<script src="[http]://jsapi.netflix.com/us/api/js/api.js">
{
"title_id" : "<?php print $movieid; ?>",
"button_type" : ["PLAY_BUTTON", "ADD_BUTTON"],
"show_logo" : "true",
"x" : "40",
"y" : "20",
"dom_id" : "myMovieLocation",
"application_id" : "<?php echo $apiKey; ?>"
}
</script>
我没有获得$ movieid的相同输出。快速查看源代码始终显示原始URL,不添加任何数字,如下所示:
"title_id" : "[http]://api.netflix.com/catalog/movie/",
除此之外,其他一切都很棒。我试过echo,print,不同的变量名,似乎没什么用。
感谢您的帮助。
答案 0 :(得分:0)
只需使用自己的代码str_replace("[http]", "http://", $movie_id);
进行更改。
如果你放var_dump($movie_id);
,你会得到什么?分享结果....
试试这个:
"title_id" : \"<?php print $movieid; ?>\",
如果您收到NULL
或没有,那么在变量$movie_id
上返回结果会出现问题?
尝试转换为字符串,我认为您收到INT因此无法解析示例:
echo (string) $movie_id;
或使用strval()
确保整数转换为字符串:
echo strval($movie_id);
由于错误:Output from "title_id" : \"<?php print $movieid; ?>\" is: "title_id" : \"api.netflix.com/catalog/movie\",
加入PHP代码"
:
"title_id" : <?php print 'http://"'.$movieid.'"/'.$title_id; ?>,
或者以另一种方式,使用PHP json_encode
解析:
<div id="myMovieLocation">
<?php echo "<img src=\"$img\" />"; ?>
<script src="[http]://jsapi.netflix.com/us/api/js/api.js">
{
<?php
$movie_id_result = (string)$movieid;
$a = array
("title_id" => "http://api.netflix.com/catalog/movie/".$movie_id_result,
"button_type" => "[\"PLAY_BUTTON\", \"ADD_BUTTON\"]",
"show_logo" => "true",
"x" => "40",
"y" => "20",
"dom_id" => "myMovieLocation",
"application_id" => $apiKey
);
echo json_encode($a, JSON_UNESCAPED_SLASHES);
?>
}
</script>
返回PHP结果时要注意:
titleID = 7474747
其中7474747
可以是整数(INT)。转换为JSON时,请确保使用strval()
字符串或在变量前添加简单(string)
。结果整数可能会混淆json解析器。
适用于PHP的Neflix API
如果尚未解决,请使用来自source的netflix的PHP API作为示例PHP。