/api/v4/locations/oauth_connect_urlTek bir konum için OAuth bağlantı URL'si oluşturma
Kendi başarı ve hata yönlendirmelerinizle tek bir konumu bağlayan bir yayın platformu OAuth bağlantısı oluşturur.
Parametreler
Gövde
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| input | object | zorunlu | Wrapper object. The entire request body must be nested under `input`. |
| input.locationId | string | zorunlu | Location the connection will be attached to. Accepts a Base64-encoded Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) or a raw numeric location ID. |
| input.site | string | zorunlu | Publisher to connect: `GOOGLE`, `FACEBOOK`, or `APPLE`. |
| input.successUrl | string | zorunlu | Absolute URL the publisher returns the user to after they grant access. |
| input.errorUrl | string | zorunlu | Absolute URL the publisher returns the user to if they cancel or the grant fails. |
Örnek istek
Yapıştırmaya hazır gövde. Yer tutucu kimlikleri ve değerleri kendi değerlerinizle değiştirin.
{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE", "successUrl": "https://app.example.com/locations/1800289/connected", "errorUrl": "https://app.example.com/locations/1800289/connect-failed" }}Yanıtlar
200A single-use OAuth URL to send the user to. `errors` is `null` on success. The `url` shown is a placeholder; send the user to the `url` returned in your own response.
{ "data": { "createConnectUrl": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}401Unauthenticated, missing or invalid API key.
403The key is valid but not permitted to connect this location (`SY90003`).
Kapsamı tek bir konumla sınırlı bir yayın platformu OAuth URL'si döndürür. Son kullanıcıyı url adresine yönlendirin; işlemi tamamladığında yayın platformu kullanıcıyı sizin successUrl (veya errorUrl) adresinize yönlendirir ve elde edilen kimlik bilgileri konuma bağlı bir hesap olarak eklenir.
Bu, hesap genelinde bir bağlantı oluşturan ve ardından işletme kayıtlarını eklemek için eşleştirmeye dayanan Google hesaplarını toplu olarak bağlama ve Facebook hesaplarını toplu olarak bağlama toplu işlem akışlarının tek konum için kullanılan karşılığıdır. Kullanıcının hangi konumu bağladığını zaten biliyorsanız ve kendi ürününüzde o konumun sayfasına dönmesini istiyorsanız bu yolu kullanın.
Her iki yönlendirme URL'si de zorunludur ve mutlak olmalıdır; göreli veya ayrıştırılamayan bir değer, null url ile birlikte success: true olarak döner; bu nedenle yalnızca success değerini değil, url değerini kontrol edin. Bağlantı tek kullanımlıktır ve belirttiğiniz konuma bağlıdır; bu nedenle bağlantıyı önbelleğe almak yerine her deneme için yeni bir bağlantı oluşturun.
Kullanım örneği: kendi uygulamanızdan tek bir mağazayı bağlama
Bir kullanıcı uygulamanızdan tek bir mağazayı bağladığında, konumun ID'si, site: "GOOGLE" ve uygulamanıza geri yönlendiren URL'ler ile bu yola bir POST isteği gönderin. Kullanıcıyı açılır pencere veya tam sayfa yönlendirmesiyle url adresine yönlendirin. Kullanıcı geri döndüğünde bağlantının kurulduğunu doğrulamak için Bağlı hesap ayrıntılarını alma yanıtını veya konumun bağlantı bilgilerini okuyun, ardından uygulamanızda bağlı durumunu gösterin. Kullanıcı akışı terk ederse errorUrl adresine yönlendirilir ve hiçbir şey eklenmez; bu nedenle yeni bir bağlantı oluşturup tekrar denemesine olanak tanıyın.
Kullanım örneği: sahibinin Apple Business hesabı üzerinden yayınlama
Tek bir konumu sahibinin doğrulanmış Apple Business kuruluş hesabına bağlamak için site: "APPLE" gönderin. Hesabın sahibi url adresini açar, bu hesapta oturum açar ve erişim izni verir. Bundan sonra ListingsAPI, o konumun Apple Maps verilerini sahibinin hesabı üzerinden yayınlar.
Sahibinin doğrulanmış bir Apple Business kuruluş hesabı yoksa bu akışı atlayın. ListingsAPI, konumu kendi Apple Business Connect hesabı üzerinden yayınlar ve Apple, gönderimi yayınlamadan önce doğrular. Her konum ayrı ayrı bağlanır; dolayısıyla bir hesapta her iki tür konum da bulunabilir.
Hesabın sahibi successUrl adresine döndükten sonra publisher=AppleAccount ile Bağlı hesapları listeleme çağrısını yapın ve hesabın status değerinin CONNECTED olduğunu kontrol edin. Apple Maps işletme kaydının nasıl kontrol edileceği de dahil olmak üzere akışın tamamı için Apple Business Connect'i bağlama bölümüne bakın.
Bu uç nokta, gerçek kullanım için OAuth kimlik bilgileri oluşturur. Yukarıdaki örnek istek ve yanıt, örnek niteliğindedir.
curl -X POST 'https://listingsapi.com/api/v4/locations/oauth_connect_url' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE", "successUrl": "https://app.example.com/locations/1800289/connected", "errorUrl": "https://app.example.com/locations/1800289/connect-failed" } }'