【问题标题】:Print data via GET https://api.groovehq.com/v1/tickets通过 GET https://api.groovehq.com/v1/tickets 打印数据
【发布时间】:2018-12-12 14:42:34
【问题描述】:

我正在尝试通过 Groove 的 JSON API 获取数据。

https://www.groovehq.com/docs/tickets#listing-ticketshttps://www.groovehq.com/docs

这是我制作的代码:

<?php 

    function timjson_front($atts, $content) {
        global $wpdb;

        $access_token = ""; //insert token
        $user_email = ""; // insert customers email


        $json = getJSON($access_token, $user_email);

        $html = "";

        foreach($json as $key => $waarde) {
            $html .= $key . ' = ' . $waarde; 
        }

        return html_entity_decode($html); 
    }

    function getJSON($access_token, $user_email) {

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_URL, 'https://api.groovehq.com/v1/tickets?acces_token=' . $access_token . '&customer=' . $user_email);
        $result = curl_exec($ch);
        curl_close($ch);

        $obj = json_decode($result);
        return $obj;
    }
 ?>

代码在 wordpress 页面上运行,是自制插件的一部分。这个想法是将客户的票打印在页面上。

Wordpress 在foreach() 给出错误。有谁知道我做错了什么?或者有什么建议?

【问题讨论】:

    标签: json wordpress api


    【解决方案1】:

    第一
    您正在迭代$obj,但$obj = json_decode($result);returns an object。您需要遍历 array 所以使用 json_decode($result, true)

    第二
    基于API,第一个key是tickets,有多个ticket 所以你想从 foreach 中的票开始:

    foreach($json['tickets'] as $ticket){
        foreach($ticket as $key => $waarde) {
            $html .= $key . ' = ' . $waarde; 
        }
    }
    

    第三
    您正在使用 $html .= $key . ' = ' . $waarde; 连接字符串
    但基于API,这些值不是 ALWAYS 字符串。

    foreach($json['tickets'] as $ticket){
        foreach($ticket as $key => $waarde) {
            if(!in_array($key, ['tags','links'])){ // ignore the keys "tags" and "links" because they are array
                $html .= $key . ' = ' . $waarde; 
            }
        }
    }
    

    编辑:POC https://3v4l.org/dblmj

    【讨论】:

      猜你喜欢
      • 2017-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      相关资源
      最近更新 更多