App Store Connect,销售报告 return 处理 php

AppStoreConnect, salesReports return handle in php

我正在通过 API 请求获取 AppStoreConnect、salesReports。如文档中所述,return 类型是 Content-Type: gzip。我得到的是数据的 gzip blob,我不知道如何在 PHP.

中处理它

blob 看起来像这样 =>

��]�n�8}�~�~ ���e?:���Ű��T�6� �H�$wѿ_ʒ/i"j(�F�"d�:�3gf��8��E̦�cm�4���_l,~��h#_��g�D�Q��y�]�����0��"L��@�kir��!߷b��K�=��2l���m�F/�/n�X��_��i)�:{9ֈ���3�l�_���K�q��/Q���R~<=}�|�-Y��&��"�5II�G���\f�g_2�n6Q���1}^�OQ�����L,��D"��{��w6z�/��8Sb��������-�l����r-^�01�J�đ�6�?

当我使用 gzdecode() 解压缩它时,我得到了一些可读的数据,但它看起来很复杂,我不知道如何对其进行排序。我需要一种方法来整理这些数据。

$blob = $this->client->request(
                'GET',
                "salesReports",
                [
                    'headers' => [
                        'Accept'        => 'application/a-gzip, application/json',
                        'Accept-Encoding'   => 'deflate,gzip',
                        'Authorization' => "Bearer $this->jwt"
                    ],
                    'query' => $queryParams
                ]
            )->getBody()->getContents();

 $res=  gzdecode($blob) ;
 echo $res;

转换后的 blob 是 space 分隔的 csv 内容,您可以用行 (/n) 和列 (/t) 分隔它们。我不知道为什么苹果不使用逗号分隔格式,它本来就很容易识别。

$lines =  explode("\n", gzdecode($res));

foreach ($lines as $key => $line)
{
   $cols = explode("\t", $line);
}