我试图在我的应用中检索位置指标。 我这样做的方式是here. 在谷歌oauth游乐场,它的工作正常,但当我在我的应用程序中这样做时,我的回复中出现错误:
{
"error": {
"code": 400,
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"description": "Invalid JSON payload received. Unknown name \"basicRequest\": Cannot bind query parameter. 'basicRequest' is a message type. Parameters can only be bound to primitive types."
},
{
"description": "Invalid JSON payload received. Unknown name \"encodingType\": Cannot bind query parameter. Field 'encodingType' could not be found in request message."
}
]
}
],
"message": "Invalid JSON payload received. Unknown name \"basicRequest\": Cannot bind query parameter. 'basicRequest' is a message type. Parameters can only be bound to primitive types.\nInvalid JSON payload received. Unknown name \"encodingType\": Cannot bind query parameter. Field 'encodingType' could not be found in request message.",
"status": "INVALID_ARGUMENT"
}
}
我的帖子要求:
data = json.load(open('request.json'))
url = 'https://mybusiness.googleapis.com/v3/accounts/1054012049xxxxxxxxxx/locations:reportInsights'
e = google.post(url=url, data=data, headers={'Content-Type': 'application/json; charset=UTF-8', "Content-Length": 291})
和带有请求正文的json文件:
{
"locationNames": "accounts/105401204xxxxxxxx/locations/616918704xxxxxxxxxx",
"basicRequest": {
"metricRequests": {
"metric": "ALL"
},
"timeRange": {
"startTime": "2017-09-02T01:01:01.045123456Z",
"endTime": "2017-10-02T23:59:59.045123456Z"
}
}
}
出了什么问题?
答案 0 :(得分:0)
我认为您的有效负载的一个问题是" metricRequests" key是一系列度量请求,但在您的情况下,您将其作为对象传递。修改它并重新提交