当前位置: 首页 > 知识库问答 >
问题:

从外部API RapidApi获取数据到WordPress站点

秦飞航
2023-03-14

我正在尝试从此API获取数据:

https://rapidapi.com/apilayernet/api/rest-countries-v1? 
endpoint=53aa5a08e4b0a705fcc323a6

我设法使用wp_remote_get()来提出请求,但我一直没有得到任何结果,除了一个错误:

 The site is experiencing technical difficulties.

我只是指出,我已经使用了作曲家来设置作曲家。我的XAMPP适当文件夹中的json文件,其中包含请求:

{
    "require-dev": {
        "mashape/unirest-php": "3.*"
    }
}

在我的代码中,我包括API密钥的参数,如下所示,但由于某些原因,该参数不起作用:

$request = wp_remote_get( 'https://restcountries-v1.p.rapidapi.com/all', 
array(
"X-RapidAPI-Host" => "restcountries-v1.p.rapidapi.com",
"X-RapidAPI-Key" => "7fc872eb0bmsh1baf0c288235a1ep114aecjsn18f888f020c0"
 ) );
 if( is_wp_error( $request ) ) {
return false; // Bail early
}
$body = wp_remote_retrieve_body( $request );
$data = json_decode( $body );
echo $data;

共有2个答案

贺俊楚
2023-03-14

这是我在Wordpress上使用的方法

$url = 'https://restcountries-v1.p.rapidapi.com/all'; //define url
$response = wp_remote_get($url, array(
       'headers'=> array('X-RapidAPI-Host' => 'restcountries-v1.p.rapidapi.com', //set header
                         'X-RapidAPI-Key' => '<apikey>'//set api key
                          ),
        'method'      => 'GET',//set method
        ));

 $decode = json_decode($response);// decode response
 echo "<pre>"; print_r($decode); die('dead');// display response on page wiothout any other information.
庄康胜
2023-03-14

wp_remote_get接受一个选项数组作为第二个参数,但是您直接传递了标头。
它们应该在选项内部嵌套的标头数组中。

方法文档:https://codex.wordpress.org/Function_Reference/wp_remote_get

$request = wp_remote_get('https://restcountries-v1.p.rapidapi.com/all', [
    'headers' => [
        'X-RapidAPI-Host' => 'restcountries-v1.p.rapidapi.com',
        'X-RapidAPI-Key' => '<apikey>',
    ],
]);

if (is_wp_error($request)) {
    return false; // Bail early
}

$body = wp_remote_retrieve_body($request);
$data = json_decode($body);
echo $data;
 类似资料:
  • 我试图从Woocommerce的Wordpress网站上获取产品数据。我使用下面的代码获取特定类别产品的名称和缩略图。 这在获取“工具”类别中产品的名称和图像方面效果很好,但我想获取每个产品的权重。 产品重量在WordPress仪表板中设置为产品属性。 如何获取产品的这些数据?我似乎找不到访问这些的功能。

  • 问题内容: 我想尝试弄清楚如何获得 即使按任何顺序排列,我也听说过PHP Simple HTML DOM解析器,但是我真的不想使用它。除了使用PHP简单HTML DOM解析器之外,是否有解决方案的可能。 如果它是无效的HTML,将无法执行此操作吗? cURL可以使用preg_match做类似的事情吗? Facebook做这样的事情,但可以通过以下方式正确使用: 我想要这样的东西,以便有人发布链接时

  • 本文向大家介绍WordPress 获取网站标语,包括了WordPress 获取网站标语的使用技巧和注意事项,需要的朋友参考一下 示例 输出结果 基于这些样本设置

  • 本文向大家介绍WordPress 获取网站标题,包括了WordPress 获取网站标题的使用技巧和注意事项,需要的朋友参考一下 示例 要么 输出结果 基于这些样本设置

  • 问题内容: 我正在使用jQuery和 此插件 从外部站点提取内容。 使用以下代码,效果很好: 但是,我真正想做的只是从目标站点中拉出一个部分(div),我知道这仅在使用该方法时才可行,而在时才可行。 然后,我找到了 这段代码 ,但是当我尝试将其构建到代码中时,它似乎不起作用,如下所示: 调查Firebug上的请求,该请求看起来确实成功,但是代码似乎无法在目标站点上找到以下标记: 我是否需要确保目标

  • 尝试使用Jsoup而不是网站API从网站上练习和获取信息。我的代码没有错误,但文本字段没有更改。它只是给我一个空白。我如何从网站上获取信息?我正试图获取主要新闻,以便在我的网站上发布。 我的代码: