Effectuer vos premiers appels d'API

Pour effectuer les appels de base à l'API Street View Publish, suivez les étapes de ce tutoriel.

Effectuer des appels HTTP

L'API Street View Publish peut être appelée à l'aide de plusieurs outils tels que curl, wget et Postman : Dans la plupart des cas, vous souhaiterez utiliser le langage de programmation de votre choix pour créer une application cliente. qui utilise l'API. Ce tutoriel vous présente ses principes de base en vous guidant tout au long des commandes individuelles.

Nous fournissons également des bibliothèques clientes si vous souhaitez effectuer des appels HTTP directs.

Prérequis

  1. Vous devez disposer d'un compte Google pour accéder à la console Google APIs, demander une clé API et enregistrer votre application.

  2. Créez un projet dans la Google Developers Console et obtenez des identifiants d'autorisation pour que votre application puisse envoyer des requêtes API.

  3. Après avoir créé votre projet, assurez-vous que l'API Street View publish est l'un des services pour lesquels votre application est autorisée à utiliser:

    1. Accédez à la console API et sélectionnez le projet que vous venez d'enregistrer.
    2. Accédez à la page API activées. Assurez-vous que l'API Google Street View figure dans la liste des API activées. Si ce n'est pas le cas, ouvrez la bibliothèque d'API et activez l'API.
  4. Consultez le guide sur l'authentification pour découvrir comment implémenter l'autorisation OAuth 2.0.

  5. Familiarisez-vous avec les concepts fondamentaux du format de données JSON (JavaScript Object Notation). JSON est un format de données commun, indépendant du langage, qui fournit une représentation textuelle simple de structures de données arbitraires. Pour en savoir plus, accédez à json.org.

Obtenir une clé API

À des fins d'authentification et de quota, vous devez utiliser l'API Google Street View publish avec des identifiants générés dans votre Play Console.

  1. Accédez à la section Credentials (Identifiants). de la Play Console.
  2. Si vous disposez déjà d'une clé API, vous pouvez utiliser sa valeur. Sinon, Créez-en une autre en sélectionnant Clé API dans le menu Nouveaux identifiants.

Obtenir un jeton d'accès

  1. Accédez à Google Developers OAuth 2.0 Playground.
  2. Cliquez sur le menu des paramètres (icône en forme de roue dentée en haut à droite), cochez la case Use your own OAuth credentials (Utiliser vos propres identifiants OAuth), puis saisissez vos identifiants Client ID et Client secret dans les champs correspondants, puis cliquez sur Fermer. <ph type="x-smartling-placeholder">
  3. Sous Étape 1: Sélectionner et autoriser les API, saisissez le champ d'application de l'API https://www.googleapis.com/auth/streetviewpublish Dans le champ Input your own scopes (Saisir vos propres champs d'application), cliquez sur Authorize APIs (Autoriser les API). A une nouvelle page s'ouvre pour confirmer que vous souhaitez autoriser l'API.
  4. Cliquez sur Exchange authorization code for tokens (Échanger le code d'autorisation contre des jetons). Cela remplira Access token (Jeton d'accès) qui contient le jeton d'accès à utiliser dans le l'étape suivante. Le jeton d'accès expire au bout de 60 minutes. Vous pouvez sélectionner l'option actualiser automatiquement le jeton avant qu'il n'expire, ce qui crée un nouveau jeton.

Envoyer une requête HTTP

Une fois que vous disposez de votre clé API et de votre jeton d'accès, vous pouvez exécuter la commande suivante : sur un shell pour effectuer un appel HTTP au service. Dans l'exemple ci-dessous, nous appelez la méthode /v1/photo:startUpload.

    $ 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'
  

Exemples de requêtes

Une fois que vous savez comment envoyer la requête HTTP ci-dessus, essayez d'utiliser des instructions méthodes. Différents appels sont affichés ci-dessous.

Récupération de la liste de vos photos...

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

Obtenir une photo

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

Importation d'une photo...

La création d'une photo nécessite trois appels distincts. Le premier appel renvoie une URL d'importation, qui est utilisée dans le deuxième appel pour importer les octets de photo. Une fois les octets de photo importés, le troisième appel importe les métadonnées de la photo et renvoie la pièce d'identité avec photo.

  1. Demander une URL d'importation
            $ 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. Importer les octets de photo dans l'URL d'importation
            $ curl --request POST \
            --url 'UPLOAD_URL' \
            --upload-file 'PATH_TO_FILE' \
            --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
          
  3. Importer les métadonnées de la photo
            $ 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
                      },
                    }'
          

Modifier une photo

   $ 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
                 }
               }
             }'
  

Mise à jour groupée de plusieurs photos

   $ 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"
                  }
              ]
          }'
  

Supprimer une photo

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

Qu'est-ce que updateMask ?

updateMask vous permet de limiter la quantité de requêtes si vous souhaitez mettre à jour une partie plutôt que l'ensemble de la photo. Sans updateMask, votre requête met à jour le l'intégralité d'une photo. Cela signifie que si vous ne définissez pas updateMask et que votre requête est pose manquant, le paramètre pose de votre photo sera effacé. Quelques valeurs possibles pour updateMask: places, pose.heading, pose.latlngpair, pose.level, connections. Vous pouvez indiquer plusieurs valeurs séparées par une virgule dans updateMask.