Recherche de ressources
Aperçu
L’API de Frame.io prend en charge la recherche approfondie et à facettes de ressources dans l’ensemble d’un compte, reproduisant la fonctionnalité de l’application web.Bien que les filtres les plus couramment utiles soient l’équipe, le projet et le statut, les filtres et le tri peuvent être combinés de manière unique pour produire des ensembles extrêmement spécifiques pilotés par API.En général, tous les filtres hormis account_id, q (requête) et sort suivent la même structure, et tous sont expliqués ci-dessous. <img alt=“search-filters.png” src=“file:docs/pages/v2/images/cc63ea2-search-filters.png”>
<Warning title=“Discordance entre les tailles de page demandées et renvoyées”>
Depuis mars 2022, il existe un bug connu affectant la fonction de pagination de l’API de recherche.Tant que ce bug ne sera pas corrigé, nous ne recommandons pas d’utiliser l’API de recherche pour itérer sur plusieurs pages de résultats (c’est-à-dire plus de 100 ressources), car la taille de page demandée peut ne pas correspondre au nombre réel de ressources renvoyées.
</Warning>
Valeurs par défaut
La requête API pour déclencher une recherche est toujours la même :
C’est toujours la même requête
POST vers https://api.frame.io/v2/search/library
Si elles ne sont pas fournies explicitement, les valeurs par défaut pour le réglage de recherche sont les suivantes :
À propos de ce Guide
Ce Guide explique le processus de création d’une requête de recherche qui correspond à :
- Ressources dans un Compte
- Qui correspond à la requête
« moon » - Se trouve dans un Projet spécifique
- A été chargé entre le 1er et le 30 avril 2020
- Et a été « Approuvé »
Le corps de notre recherche ressemblera finalement à ceci :
Compte, requête et tri
Le Compte (account_id), la requête (q) et le tri sont les trois éléments de base les plus fondamentaux qui se situent en dehors de tous les attributs de filtre dans une requête de recherche.
Contexte du compte
Techniquement, le seul attribut dont vous avez besoin pour effectuer une recherche est un account_id. Cela permettra simplement de récupérer chaque ressource (y compris les dossiers) du Compte, avec les valeurs de pagination par défaut (10 ressources par page, en commençant à la page 1).
Requête de recherche
L’attribut suivant le plus courant (et le plus utile) à inclure est la requête elle-même. Remarque : parce que l’API de recherche de Frame.io accepte une requête nulle, il n’y a pas besoin d’une requête générique (*). Soit vous recherchez quelque chose, soit vous demandez un tri (potentiellement filtré) de toutes les ressources d’un Compte.
Dans notre cas, nous rechercherons le terme « moon ».
Tri
<img alt=“sort.png” src=“file:docs/pages/v2/images/9b61b29-sort-options.png”>
Frame.io prend en charge plusieurs options de tri différentes. La syntaxe pour l’ordre de tri est similaire selon les options :
- Il y a une direction de tri par défaut
- Pour inverser cette direction, préfixez la Valeur de tri avec un
-négatif
```json { “trancreatedText”: [ ” Par exemple, pour trier dans l’ordre alphabétique inversé (Z à A), vous devez déclarer \"sort\": \"-name\".L’opération de tri par défaut est « Pertinence ».Elle n’a donc pas besoin d’être déclarée et sera supposée si aucun attribut sort n’est fourni.
Filtres et pagination
Les filtres constituent la fonctionnalité la plus délicate, mais aussi la plus puissante de la recherche d’asset Frame.io.Les filtres sont écrits dans un seul objet filter et suivent tous le même modèle d’opération (op) et de valeur.Les filtres utilisent les abréviations courantes suivantes, avec des options d’équivalence autres que « égal à » réservées aux requêtes de date et de taille :
eq— égal à” ] } ```lt— inférieur àgt— supérieur àlte— inférieur ou égal àgte— supérieur ou égal àmatch— correspondance exacte, utilisée uniquement pour les filtres Uploader et Filetype
Par exemple, un filtre pour correspondre à un project_id connu serait construit comme suit :
OPTIONS et opérations
Le tableau suivant décrit les OPTIONS et les opérations associées à chaque type de filtre.
<Warning title=“```json { “trancreatedText”: [ “Le chargeur doit être un membre actif du compte pour alimenter l’index”>
La recherche de créateurs qui ne sont plus membres du compte ne fonctionnera pas car cet utilisateur ne figure plus dans l’index de recherche utilisateur.
</Warning>
Pour continuer à créer notre requête, nous pouvons maintenant ajouter un filtre pour les ressources qui sont :
- Dans un projet spécifique
- Chargées entre le 1er et le 30 avril 2020
- Marquées comme « Approuvées »
<Note title=“Pagination”>
Le point d’entrée de recherche pagine exactement comme tout autre point d’entrée, via les attributs page_size et page qui se trouvent à la couche la plus externe du corps de la requête.Pour plus de détails sur la pagination, veuillez consulter le guide séparé ici. ” ] } ```
</Note>