2015-10-06 6 views
5

Próbuję użyć interfejsu Directory API do aktualizacji obiektu klienta, ale próba modyfikacji czegokolwiek na najwyższym poziomie skutkuje 400 (Nieprawidłowy język klienta) błąd został zwrócony.Directory API, Klient UPDATE/PATCH kończy się niepowodzeniem z "Niepoprawnym językiem klienta"

Oto get początkowej obiektu (niektóre elementy edycji, do prywatności)

żądania

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

Response

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

Próba następnie zaktualizować numer telefonu lub język pojedynczo powoduje błąd. Nie ma znaczenia, czy używam łaty czy aktualizacji.

numer telefonu łata wezwanie:

{ 
    "phoneNumber": "+18005551234" 
} 

Język łata wezwanie:

{ 
    "language": "en-GB" 
} 

patch lub zadzwoń Aktualizacja odpowiedź

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

Właśnie gram z narzędziami online (https://developers.google.com/admin-sdk/directory/v1/reference/customers/patch), zanim wciągnę go do kodu. Nie znalazłem niczego w dokumentach, forach, trackerze problemów lub tutaj, który rozwiązuje problem; wszelka pomoc byłaby doceniona!

Odpowiedz

3

Wygląda na to, że jest to błąd związany z narzędziami online. Udało mi się z powodzeniem manipulować obiektem przy użyciu zaktualizowanej wersji GAM (https://github.com/jay0lee/GAM) i jestem gotowy, aby iść do przodu. Zostawię to tutaj na wypadek, gdyby ktoś inny przeszedł przez ten problem.

+0

Które polecenie w GAM? Nie widzę polecenia aktualizacji zasobu klienta. Dzięki. –

0

Korzystanie żądanie PUT działa na mnie, w węźle SDK mam coś takiego:

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