InseeFrLab / DoReMIFaSol

Téléchargement des données sur le site de l'Insee
https://InseeFrLab.github.io/DoReMIFaSol/
MIT License
29 stars 11 forks source link

Ajout d'un example d'utilisation de l'argument vars dans la documentation, dans le cas du requêtage SIRENE #79

Open gregmansio opened 2 years ago

gregmansio commented 2 years ago

Bonjour, Tout d'abord, merci beaucoup pour cet excellent package qui me sert beaucoup!

Lors du requêtage de l'API Sirene via la fonction telechargerDonnees(), en utilisant l'argument vars, je reçois le message d'erreur suivant :

In chargerDonnees(telechargerFichier(donnees, date, telDir, argsApi, :
  Il n’est pas possible de filtrer les variables chargées en mémoire sur le format JSON pour le moment.

Je ne sais pas si je renseigne mal cet argument ou si il s'agit d'un problème alternatif, mais lorsque je le retire, ce warning disparaît. J'ai également crée un dossier de téléchargement de données puis l'ai configuré avec option(doremifasol.telDir = ...) mais rien n'y fait.

Pourriez-vous y jeter un oeil et éventuellement rajouter une information dans la documentation s'il vous plaît?

Bien à vous

Grégoire Mansio

Voici un exemple:

if(!require(tidyverse)) install.packages("tidyverse")
if(!require(remotes)) install.packages("remotes")
if(!require(usethis)) install.packages("usethis")
if(!require(httpuv)) install.packages("httpuv")
if(!require(apinsee)) remotes::install_github("inseefrlab/apinsee")
library(httr)
library(jsonlite)

# Rtools is required
if(!require(doremifasol)) remotes::install_github("inseefrlab/doremifasol", build_vignettes = TRUE) 

token <- apinsee::insee_auth() # necessite une clé et un secret du consommateur sur l'api insee, tous deux à enregistrer dans l'environnement sous le format suivant:
#INSEE_APP_KEY=xxxxxxxxxxxxxxxxxxxxxxxxx
#INSEE_APP_SECRET=yyyyyyyyyyyyyyyyyyyyyyy

#Pour ce faire on peut par exemple utiliser usethis ci dessous
#usethis::edit_r_environ("user") 
# Il faut redémarrer la session suite à l'enregistrement de ces credentials dans le fichier environnement

set_config(config(token = token))

## Test de requêtage ciblé

# Requête
Plomberie_4322A <- telechargerDonnees("SIRENE_SIREN", 
                                     argsApi = list(q ="periode(activitePrincipaleUniteLegale:43.22A AND caractereEmployeurUniteLegale:O AND economieSocialeSolidaireUniteLegale:O)"),
                                     vars = c("sirene")
                                     )
py-b commented 2 years ago

Bonjour,

Effectivement l'argument vars sert uniquement pour le téléchargement de données hors API Sirene. Le message indique donc qu'il ne sert à rien de le renseigner pour un requêtage sur l'API.

Pour l'option doremifasol.telDir, n'auriez-vous pas simplement oublié le S à options(doremifasol.telDir = ...) ? Sinon, je ne vois pas dans votre extrait de programme l'appel à cet option. J'imagine que vous avez mis cette instruction dans un fichier .Rprofile ?

Enfin et pour info, doremifasol crée lui-même le token via le package apinsee, donc pas besoin de spécifier apinsee::insee_auth() et set_config(config(token = token)). Il y a juste à renseigner les variables d'environnement INSEE_APP_KEY et INSEE_APP_SECRET. :wink: