【问题标题】:Php and connecting to an APIPHP 并连接到 API
【发布时间】:2014-04-21 20:24:41
【问题描述】:

这可能是一个非常基本的问题,因为我对 php 编程相当陌生。希望我能对我的特定问题有所了解。

我正在尝试使用 php 构建一个简单的 Web 应用程序,该应用程序将与 Best Buy 提供的 BBYOpen API 接口。应用程序需要能够接受邮政编码和距离半径,以便在参数内检索 Best Buy 商店位置。

现在 BBYOpen 为开发人员提供查询,我已经设法找到我需要使用的查询。

我是 php 新手,遇到的问题是:

  1. 我该如何构建一个简单的 HTML 页面来接受用户输入(以邮政编码和距离的形式)并将其绑定到可以与 BBYOpen 通信以检索数据的 php 脚本中。

  2. BBYOpen 提供了广泛的查询文档和我可以返回的信息,但我不知道如何让我的 php 脚本连接到 BBYOpen。我知道为了建立联系,我需要使用他们的 Remix Web 服务,但我也不知如何去做。

任何帮助或解决方案都将不胜感激,即使是在带有 cmets 的通用代码中也是如此。

干杯

【问题讨论】:

  • 使用 curl 或像 Guzzle 这样的 curl 包装器
  • 你的问题太宽泛了。我的印象是您首先需要了解 HTML 表单以及浏览器和服务器之间的基本交互。当您收集技能以建立例如华氏/摄氏度转换器,您可以专注于 API。
  • Alvaro,我对创建一个允许用户输入(例如邮政编码)的
    有基本的了解。我的问题是我将如何准确地获取该输入并将其带到 php 脚本中,以便将其放置在查询中的适当位置。

标签: php api


【解决方案1】:
    $ch = curl_init('http://api.remix.bestbuy.com/v1/products?apiKey=apiKey&format=json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json',)
    );

    $result = curl_exec($ch);
    $header_size = curl_getinfo($ch,CURLINFO_HEADER_SIZE);
    $header = substr($result, 0, $header_size);
    $body = substr( $result, $header_size );
    curl_close($ch);

    echo "<pre>";
    print_r(json_decode($body));

这样就可以得到数据了;

$json = file_get_contents('php://input');
$data = json_decode($json, true);

【讨论】:

  • 谢谢布尔汉。澄清一下,这是放置在 php 标签中的脚本,对吗?
猜你喜欢
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-03
相关资源
最近更新 更多