我正在尝试通过Apple Search Ads API获取报告数据。所以我使用这个方法 -H ...\ -d“@ TestSearchTermReport.json” -X POST“/ v1 / reports / campaigns / {cId} / searchterms”
我已经包含了所有标头和凭据。以下是我的POST主体的json数据文件的内容: { “startTime”:“2016-11-13”, “endTime”:“2016-11-13”, “timezone”:“UTC”, “粒度”:“每日”, “selector”:{ “ORDERBY”:[{ “字段”: “花”, “中将sortOrder”: “下降”}], “fields”:[“花费”,“点击”,“转换”,“avgCPA”,“avgCPC”,“ttr”,“conversionRate”], “分页”:{ “偏移”:0, “限制”:1000 } }, “groupBy”:“countryCode”, “returnRowTotals”:错, “returnRecordsWithNoMetrics”:错误 }
但是,我收到以下错误消息:
{“data”:null,“pagination”:null,“error”:{“errors”:[{“messageCode”:“INVALID_JSON_REQUEST”,“message”:“这是一个无效的json。请求不能被解析“,”字段“:”行#:1列#:3“}]}}
我曾多次尝试过不同的方式,但仍然无法正常工作。有没有聪明人可以帮助我?
提前致谢!
答案 0 :(得分:4)
我自己一直在努力使用这个API,文档并不完全是用户友好的!
看起来你在这里有一些问题:
当你使用python时,试试这个:
import requests
org_id = <YOUR_ORG_ID>
certificate_path = '<PATH_TO_YOUR_CERTIFICATE>'
certificate_key_path = '<PATH_TO_YOUR_CERTIFICATE_KEY>'
campaign_id = <YOUR_CAMPAIGN_ID>
headers = {"Authorization": "orgId=%s" % org_id}
payload = {
"startTime": "2016-11-13",
"endTime": "2016-11-13",
"granularity": 1,
"selector": {
"orderBy":[{"field":"localSpend","sortOrder":"DESCENDING"}],
"fields": ["localSpend", "taps", "conversions", "avgCPA", "avgCPT", "ttr", "conversionRate"],
"pagination": { "offset": 0, "limit": 1000 }
},
"groupBy": ["COUNTRY_CODE"],
"returnRowTotals": False,
"returnRecordsWithNoMetrics": False
}
url = 'https://api.searchads.apple.com/api/v1/reports/campaigns/%s/searchterms' % campaign_id
response = requests.post(url, cert=(certificate_path, certificate_key_path), json=payload, headers=headers)
print(response.text)
这会给我一个成功的回复。希望它也适合你!
答案 1 :(得分:1)
我能够使用以下卷曲
使其正常工作DataGrid
您可以按照此处提到的步骤获取p12证书 https://developer.apple.com/library/content/documentation/General/Conceptual/AppStoreSearchAdsAPIReference/API_Overview.html#//apple_ref/doc/uid/TP40017495-CH7-SW8
如果你在python中使用请求进行post调用,你可能需要做一些额外的工作,因为我没有找到任何以p12证书和密码作为输入的参数。使用openssl
创建一个crt文件和pemcurl --cert ./<PI2 CERTIFICATE FILE>.p12 --pass <PI2 CERTIFICATE PASSWORD> -H "Authorization: orgId=xxx" -H "Content-Type: application/json" -X POST -d ' {"startTime": "2017-04-06", "endTime": "2017-04-06", "granularity": 2, "selector": {"orderBy":[{"field":"localSpend","sortOrder":"DESCENDING"}], "fields": ["localSpend"], "pagination": { "offset": 0, "limit": 1000 } }, "groupBy": ["COUNTRY_CODE"], "returnRowTotals": false, "returnRecordsWithNoMetrics": false }' "https://api.searchads.apple.com/api/v1/reports/campaigns/campaign name/searchterms"
并使用以下代码
openssl pkcs12 -in Apple_Certificate.p12 -out file.crt.pem -clcerts -nokeys
openssl pkcs12 -in Apple_Certificate.p12 -out file.key.pem -nocerts -nodes
答案 2 :(得分:0)
您可以使用邮递员:
导入行文本curl -X GET'https://api.searchads.apple.com/api/v2/campaigns/124324' -H'授权:orgId = 234234'-H'内容类型:application / json'