2016-04-06 29 views
0

'u kullanarak bir konumu güncelleştiremediğim bir süredir Bir süredir Googles My Business API aracılığıyla Konum güncellemesi için bir PATCH çalışma isteği oluşturmaya çalışıyorum, ancak henüz başarılı bir istekte bulunmadım. Ben fieldMask gibi bir şey atladığınızdaGoogle My Business API

{ 
    location": { 
    "primaryPhone": "1-800-TEST" 
    }, 
    "languageCode": "en", 
    "fieldMask": "primaryPhone", 
    "validateOnly": true 
} 

Ben address.country ayarlanmamış belirten bir hata olsun, ama onunla aşağıdaki hatayı alıyorum sunmak:

Bu isteğin benim son girişimi sever görünüyor budur :

{ 
    "error": { 
    "code": 400, 
    "message": "Request contains an invalid argument.", 
    "status": "INVALID_ARGUMENT" 
    } 
} 

değil çok bilgilendirici: P ben yanlış yapıyor ne olabilir

Herhangi bir fikir? Çalışan bir örnek isteği var mı? (tercihen açılış saatlerini güncelleyen bir tanesi) :)

+0

Kodunuzu görme konusunda yardımcı olmak zor ama. Bir konum gövdesi döndürecek ve bu değişiklikleri geri alabilecek bir location.get yapmayı deneyin. Seçip seçemeyeceğin tüm alanları ayarlaman gerektiğini düşünüyorum. – DaImTo

+0

Anladığım kadarıyla (https://developers.google.com/my-business/reference/rest/v2/accounts.locations/patch#request-body) Yalnızca güncellemek istediğim alanları gönderebilmem gerekir. "FieldMask" özelliğini kullanan alanları belirtirim: 'Güncellenecek belirli alanlar. Herhangi bir maske belirtilmemişse, bu durum tam bir güncelleştirme olarak kabul edilir ve tüm alanlar iletilen boş alanların belirlenmesini de içerebilecek şekilde iletilen değerlere ayarlanır. ' 'Alanların tam adları için virgülle ayrılmış bir liste . Örnek: "user.displayName, photo" .' – Marco

+0

Kod, örneğin GET isteğinin iyi çalıştığından çok da ilgi çekici değil - İstek gövdesinde yanlış olan bir şey olduğundan neredeyse eminim. henüz ne olduğunu anlayamadım :) – Marco

cevap

0

Çalışmadan önce bir örnek ararken buraya sarılıyorum. Yani, asla geç olmamasından iyidir, işte bir cevaptır.

İsteğin nasıl işleneceğini açıklayan alanlar ile yere giden veriler arasında ayrım var. Eskiden sonra mı? URL’de İkincisi vücuda girer.

Yani bir sorunu olmalıdır:

PATCH https://mybusiness.googleapis.com/v3/accounts/$accountId/locations/$locationId?languageCode=en&fieldMask=primaryPhone&validateOnly=true 

bir vücutla:

{"primaryPhone": "1-800-TEST"} 

Eğer geçerli Authorization başlığa sahip olduğu varsayıldığında, bu çalışması gerekir.