0

我正在尝试回显通过 Netflix API 生成的 URL。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/",

其他一切都很好,除了那个。我尝试过回显、打印、不同的变量名,但似乎没有任何效果。

谢谢你的帮助。

4

1 回答 1

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

如果这还没有解决,请使用 PHP API for netflix 从源代码作为示例 PHP。

于 2013-03-17T00:54:52.777 回答