2015-10-06 6 views
5

Sto provando a utilizzare l'API Directory per aggiornare un oggetto cliente, ma il tentativo di modificare qualcosa ai risultati di livello superiore in 400 (Lingua cliente non valida) errore restituito.Directory API, Customer UPDATE/PATCH fallisce con "Lingua del cliente non valida"

Ecco il get dell'oggetto iniziale (alcune voci redatto per la privacy)

Richiesta

GET https://www.googleapis.com/admin/directory/v1/customers/<customerID> 

risposta

200 OK 
{ 
"kind": "admin#directory#customer", 
"id": "<customerID>", 
"etag": "\"<etag>\"", 
"customerDomain": "<domainName>", 
"alternateEmail": "<email>", 
"postalAddress": { 
    "contactName": "<name>", 
    "organizationName": "", 
    "locality": "<city>", 
    "region": "<state>", 
    "countryCode": "US", 
    "addressLine1": "<address1>", 
    "addressLine2": "", 
    "addressLine3": "", 
    "postalCode": "<zip>" 
}, 
"phoneNumber": "<phoneNumber>", 
"language": "en", 
"customerCreationTime": "2011-03-31T03:45:49.408Z" 
} 

Cercando di quindi aggiornare il numero di telefono o la lingua individua l'errore individualmente. Non importa se uso una patch o una chiamata di aggiornamento.

telefono patch di chiamata:

{ 
    "phoneNumber": "+18005551234" 
} 

Lingua patch di chiamata:

{ 
    "language": "en-GB" 
} 

patch o aggiornamento chiamata risposta

400 OK 
{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "invalid", 
    "message": "Invalid Customer language" 
    } 
    ], 
    "code": 400, 
    "message": "Invalid Customer language" 
} 
} 

In questo momento sto solo giocando con gli strumenti online (https://developers.google.com/admin-sdk/directory/v1/reference/customers/patch), prima di inserirlo nel codice. Non ho trovato nulla nei documenti, nei forum, nel tracker dei problemi o qui che risolva il problema; Qualsiasi aiuto sarebbe molto apprezzato!

risposta

3

Sembra che sia un bug con gli strumenti online. Sono stato in grado di manipolare correttamente l'oggetto utilizzando una versione di aggiornamento di GAM (https://github.com/jay0lee/GAM) e sono pronto per andare avanti. Lascerò questo qui nel caso in cui qualcun altro incontri il problema.

+0

Quale comando in GAM? Non vedo un comando per l'aggiornamento della risorsa cliente. Grazie. –

0

Utilizzando richiesta PUT funziona per me, nel nodo-sdk ho ​​qualcosa di simile a questo:

google.admin('directory_v1').customers.update({ 
    auth: auth,    
    customerKey: 'my_customer' 
    resource: {    
     customerDomain: 'some-domain', 
    }       
    }, function(err, response) { 
    // Some code 
    } 
Problemi correlati