2017-10-11 4 views
-1

J'essaie de récupérer les statistiques d'emplacement dans mon application. La façon dont je le fais est décrit here. dans le oauth google terrain de jeu de son travail très bien, mais quand je le fais dans mon application que je reçois une erreur dans ma réponse:Erreur lors de la récupération des statistiques d'emplacement

{ 
    "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" 
    } 
} 

Mon poste requst:

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}) 

et le fichier JSON avec le corps de la demande:

{ 
    "locationNames": "accounts/105401204xxxxxxxx/locations/616918704xxxxxxxxxx", 
    "basicRequest": { 
    "metricRequests": { 
       "metric": "ALL" 
    }, 
    "timeRange": { 
     "startTime": "2017-09-02T01:01:01.045123456Z", 
     "endTime": "2017-10-02T23:59:59.045123456Z" 
    } 
    } 
} 

ce qui est faux?

Répondre

0

Je pense qu'un problème avec votre charge utile est que la clé "metricRequests" est un tableau de requêtes de métriques mais dans votre cas, vous le transmettez en tant qu'objet. le modifier et le renvoyer