【发布时间】:2018-11-15 09:49:46
【问题描述】:
我正在尝试使用 App Store Connect API 通过 GoLang 下载财务和销售报告。
我成功连接到 App Store API 服务器的调用并接收到正确的输出。
我无法下载该报告,因为它们以字节为单位发送内容类型为“azip”的响应。
下面是我的 Go 代码:
url := "https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=DAILY&filter[reportType]=SUBSCRIPTION_EVENT&filter[reportSubType]=SUMMARY&filter[vendorNumber]=87389901&filter[reportDate]=2018-10-12&filter[version]=1_1"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6IjZROUM1WVc0N1QifQ.eyJpc3MiOiI2OWE2ZGU5MC00NGNiLTQ3ZTMtZTA1My01YjhjN2MxMWE0ZDEiLCJleHAiOjE1NDIyNzM0MzcsImF1ZCI6ImFwcHN0b3JlY29ubmVjdC12MSJ9.fC4zmgaUZZTwtopt9gaSl6HUtACNjBvWi5VNa366d5FI5l_00wM1U2cBi26a0jtB8yuZOufDSQA0MB5iMC332g")
res, _ := http.DefaultClient.Do(req)
fmt.Println(res.Header.Get("Content-Encoding"))
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
下面是我得到的标题。
Server = daiquiri/3.0.0
Date = Thu, 15 Nov 2018 12:01:47 GMT
Content-Type = application/a-gzip
Transfer-Encoding = chunked
Connection = keep-alive
requestId = 24e0c473-a35f-4374-846c-d17007c49978
Content-Encoding = agzip
Content-Disposition → attachment;filename = Subscription_Event_87389901_20181012_V1_1.txt.gz
x-reports-filename = Subscription_Event_87389901_20181012_V1_1.txt.gz
x-reports-download-version = 1_1
Strict-Transport-Security = max-age=31536000; includeSubDomains
X-XSS-Protection = 1; mode=block
X-Content-Type-Options = nosniff
Host = reportingitc-reporter-internal.corp.apple.com
X-Frame-Options = SAMEORIGIN
X-Request-ID = QSBM3FPCNVUODU2H5FCQRL5T
X-Rate-Limit = user-hour-lim:3600;user-hour-rem:3599;
x-daiquiri-instance = daiquiri:38493001:pv50p00it-hyhk12043901:13987:18O38
我可能做错了什么。但是请让我知道如何使用 GoLang 将其存储为文件。
【问题讨论】:
-
这可能只是 gzip 数据。尝试解压缩它。 (请不要张贴图片)
-
尽可能避免发布图片。在这种情况下,您可以键入标题而不是发布图片
-
感谢我删除了图片
-
我真的希望身份验证令牌不是真实的。如果是,你应该确保它被撤销(编辑它是不够的,它已经被张贴了)。
-
嗨,Anam,你为什么要这么做?我遇到了同样的问题。谢谢!
标签: go curl httprequest app-store-connect