Ihre ersten API-Aufrufe durchführen

Gehen Sie wie in dieser Anleitung beschrieben vor, um die grundlegenden Aufrufe der Street View Publish API auszuführen.

HTTP-Aufrufe

Die Street View Publish API kann mit mehreren Tools wie curl, wget und Postman aufgerufen werden. In den meisten Fällen empfiehlt es sich, eine Programmiersprache Ihrer Wahl zu verwenden, um eine Clientanwendung zu erstellen, die die API verwendet. In dieser Anleitung werden Sie jedoch durch die einzelnen Schritte mit den einzelnen Befehlen geführt.

Wir bieten auch einige Clientbibliotheken an, wenn Sie keine direkten HTTP-Aufrufe ausführen möchten.

Voraussetzungen

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

  2. Erstellen Sie ein Projekt in der Google Developers Console und rufen Sie die Autorisierungsdaten ab, damit Ihre Anwendung API-Anfragen einreichen kann.

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

    1. Rufen Sie die API-Konsole auf 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 auf der Liste der aktivierten APIs stehen. Ist dies nicht der Fall, öffnen Sie die API-Bibliothek und aktivieren Sie die API.
  4. In der Authentifizierungsanleitung erfahren Sie, wie Sie die OAuth 2.0-Autorisierung implementieren.

  5. Mach dich mit den grundlegenden Konzepten 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

Zu Authentifizierungs- und Kontingentzwecken müssen Sie die Google Street View Publish API mit den in Ihrer Developers Console generierten Anmeldedaten verwenden.

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

Zugriffstoken anfordern

  1. Rufen Sie den Google Developers OAuth 2.0 Playground auf.
  2. Klicken Sie auf das Einstellungsmenü (Zahnradsymbol oben rechts), aktivieren Sie Eigene OAuth-Anmeldedaten verwenden und geben Sie Client ID und Client secret in die entsprechenden Felder ein. Klicken Sie dann auf Schließen.
  3. Geben Sie unter Schritt 1: APIs auswählen und autorisieren den API-Bereich https://www.googleapis.com/auth/streetviewpublish im Feld Eigene Bereiche eingeben ein und klicken Sie dann auf APIs autorisieren. Es wird eine neue Seite geöffnet, auf der Sie bestätigen können, dass Sie die API autorisieren möchten.
  4. Klicken Sie auf Autorisierungscode für Tokens austauschen. Dadurch wird das Feld Zugriffstoken ausgefüllt, das Ihr Zugriffstoken für den nächsten Schritt enthält. Das Zugriffstoken läuft nach 60 Minuten ab. Sie können die Option auswählen, um das Token automatisch zu aktualisieren, bevor es abläuft. Dadurch wird ein neues Token erstellt.

HTTP-Anfrage senden

Nachdem Sie den API-Schlüssel und das Zugriffstoken erhalten haben, können Sie den folgenden Befehl in einer Shell ausführen, um einen HTTP-Aufruf an den Dienst durchzuführen. Im folgenden Beispiel rufen wir 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

Nachdem Sie die HTTP-Anfrage oben gesendet haben, können Sie weitere Methoden ausprobieren. Unten werden verschiedene Anrufe angezeigt.

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 hochladen

Zum Erstellen eines Fotos sind drei separate Aufrufe erforderlich. Der erste Aufruf gibt eine Upload-URL zurück, die im zweiten Aufruf zum Hochladen der Fotobyte verwendet wird. Nachdem die Fotobyte hochgeladen wurden, werden beim dritten Aufruf die Metadaten des Fotos hochgeladen und die Lichtbildausweis-ID zurückgegeben.

  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. Laden Sie die Fotobyte in die Upload-URL hoch
            $ 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
                      },
                    }'
          

Foto wird aktualisiert

   $ 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 gering halten, wenn Sie einen Teil Ihres Fotos statt aller aktualisieren möchten. Ohne updateMask wird das gesamte Foto aktualisiert. Wenn du updateMask nicht festlegst und in deiner Anfrage pose fehlt, werden die pose deines Fotos gelöscht. 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 einfügen.