Erste API-Aufrufe ausführen

In dieser Anleitung erfahren Sie, wie Sie grundlegende Aufrufe der Street View Publish API ausführen.

HTTP-Aufrufe ausführen

Die Street View Publish API kann mit verschiedenen Tools wie curl, wget und Postman In den meisten Fällen werden Sie eine Programmiersprache Ihrer Wahl verwenden, um eine Clientanwendung zu erstellen. die die API verwendet. In diesem Tutorial werden die Grundlagen und Schritte erklärt. für einzelne Befehle.

Wir stellen auch einige Clientbibliotheken zur Verfügung, wenn Sie direkt HTTP-Aufrufe tätigen möchten.

Vorbereitung

  1. Sie benötigen ein Google-Konto, um auf die Google API Console zuzugreifen, einen API-Schlüssel anzufordern und Ihre Anwendung zu registrieren.

  2. Erstellen Sie ein Projekt in der Google Developers Console und rufen Sie Anmeldedaten für die Autorisierung ab, damit Ihre Anwendung API-Anfragen senden kann.

  3. Prüfen Sie nach der Erstellung Ihres Projekts, ob die Street View Publish API einer der Dienste ist, für den Ihre Anwendung registriert ist:

    1. Gehen Sie zur API Console und wählen Sie das Projekt aus, das Sie gerade registriert haben.
    2. Rufen Sie die Seite Aktivierte APIs auf. Die Google Street View API muss in der Liste der aktivierten APIs aufgeführt sein. Ist dies nicht der Fall, öffnen Sie die API-Bibliothek und aktivieren Sie die API.
  4. Lesen Sie den Authentifizierungsleitfaden, um zu erfahren, wie Sie die OAuth 2.0-Autorisierung implementieren.

  5. Machen Sie sich mit den Kernkonzepten des JSON-Datenformats (JavaScript Object Notation) vertraut. JSON ist ein gängiges, sprachunabhängiges Datenformat, das eine einfache Textdarstellung beliebiger Datenstrukturen bietet. Weitere Informationen dazu finden Sie unter json.org.

API-Schlüssel abrufen

Zur Authentifizierung und zu Kontingentzwecken müssen Sie die Google Street View Publish API mit Anmeldedaten verwenden, die aus Ihrer Developers Console generiert wurden.

  1. Gehen Sie zur Seite Anmeldedaten. in der Developers Console.
  2. Wenn Sie bereits einen API-Schlüssel haben, können Sie den Wert daraus verwenden. Andernfalls Erstellen Sie ein neues, indem Sie im Menü Neue Anmeldedaten die Option API-Schlüssel auswählen.

Zugriffstoken abrufen

  1. Rufen Sie Google Developers OAuth 2.0 Playground auf.
  2. Klicken Sie auf das Menü „Einstellungen“ (Zahnradsymbol oben rechts), aktivieren Sie Eigene OAuth-Anmeldedaten verwenden und geben Sie Ihre Client ID und Client secret in die entsprechenden Felder und klicken Sie dann auf Schließen. <ph type="x-smartling-placeholder">
  3. Unter Schritt 1: Auswählen & APIs autorisieren, geben Sie den API-Bereich ein https://www.googleapis.com/auth/streetviewpublish im Feld Eigene Bereiche eingeben und dann auf APIs autorisieren. A wird auf einer neuen Seite bestätigt, dass Sie die API autorisieren möchten.
  4. Klicken Sie auf Autorisierungscode für Tokens austauschen. Dadurch wird das Feld Access token (Zugriffstoken): Dieses Feld enthält Ihr Zugriffstoken, das im nächsten Schritt. Das Zugriffstoken läuft in 60 Minuten ab. Sie können die Option zum Aktualisieren Sie das Token automatisch, bevor es abläuft. Dadurch wird ein neues Token erstellt.

Senden Sie eine HTTP-Anfrage:

Sobald Sie den API-Schlüssel und das Zugriffstoken haben, können Sie den folgenden Befehl ausführen: in einer Shell, um einen HTTP-Aufruf an den Dienst auszuführen. Im folgenden Beispiel Rufen Sie die Methode /v1/photo:startUpload auf.

    $ curl --request POST \
    --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \
    --header 'Content-Length: 0'
  

Beispielanforderungen

Wenn Sie mit dem Senden der obigen HTTP-Anfrage einverstanden sind, versuchen Sie, zusätzliche . Unten werden verschiedene Anrufe angezeigt.

Eine Liste deiner Fotos wird abgerufen

    $ curl --request GET \
    --url 'https://streetviewpublish.googleapis.com/v1/photos?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN'
  

Foto wird abgerufen...

    $ curl --request GET \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
    --header 'authorization: Bearer YOUR_ACCESS_TOKEN'
  

Foto wird hochgeladen

Zum Erstellen eines Fotos sind drei separate Aufrufe erforderlich. Beim ersten Aufruf wird eine Upload-URL zurückgegeben. mit dem im zweiten Aufruf die Fotobytes hochgeladen werden. Nachdem die Fotobytes hochgeladen wurden, lädt der dritte Aufruf die Metadaten des Fotos hoch und gibt die Foto-ID zurück.

  1. Upload-URL anfordern
            $ curl --request POST \
            --url 'https://streetviewpublish.googleapis.com/v1/photo:startUpload?key=YOUR_API_KEY' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
            --header 'Content-Length: 0'
          
  2. Fotobytes in die Upload-URL hochladen
            $ curl --request POST \
            --url 'UPLOAD_URL' \
            --upload-file 'PATH_TO_FILE' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
          
  3. Metadaten des Fotos hochladen
            $ curl --request POST \
            --url 'https://streetviewpublish.googleapis.com/v1/photo?key=YOUR_API_KEY' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
            --header 'Content-Type: application/json' \
            --data '{
                      "uploadReference":
                      {
                        "uploadUrl": "UPLOAD_URL"
                      },
                      "pose":
                       {
                         "heading": 105.0,
                         "latLngPair":
                         {
                           "latitude": 46.7512623,
                           "longitude": -121.9376983
                         }
                      },
                      "captureTime":
                      {
                        "seconds": 1483202694
                      },
                    }'
          

Fotos aktualisieren

   $ curl --request PUT \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY&updateMask=pose.latLngPair' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
               "pose":
               {
                 "latLngPair":
                 {
                   "latitude": 46.7512624,
                   "longitude": -121.9376982
                 }
               }
             }'
  

Mehrere Fotos im Batch aktualisieren

   $ curl --request POST \
    --url 'https://streetviewpublish.googleapis.com/v1/photos:batchUpdate?key=YOUR_API_KEY' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
              "updatePhotoRequests": [
                  {
                      "photo": {
                          "photoId": {
                              "id": "FIRST_PHOTO_ID"
                          },
                          "pose": {
                              "latLngPair": {
                                  "latitude": 37.1701638,
                                  "longitude": -122.3624387
                              }
                          }
                      },
                      "updateMask": "pose.latLngPair"
                  },
                  {
                      "photo": {
                          "photoId": {
                              "id": "SECOND_PHOTO_ID"
                          },
                          "pose": {
                              "latLngPair": {
                                  "latitude": 37.1685704,
                                  "longitude": -122.3618021
                              }
                          }
                      },
                      "updateMask": "pose.latLngPair"
                  }
              ]
          }'
  

Fotos löschen

    $ curl --request DELETE \
    --url 'https://streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
    --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
  

Was ist updateMask?

Mit updateMask können Sie die Anzahl der Anfragen möglichst gering halten, wenn Sie Teile aktualisieren möchten. statt des gesamten Fotos. Ohne updateMask wird mit Ihrer Anfrage Folgendes aktualisiert: das gesamte Foto. Wenn Sie updateMask nicht festlegen und Ihre Anfrage fehlt pose, werden die pose deines Fotos gelöscht. Einige mögliche Werte für updateMask sind: places, pose.heading, pose.latlngpair, pose.level, connections. Sie können mehrere durch Kommas getrennte Werte in updateMask eingeben.