Modifier les metadatas via l'API

40 views
Skip to first unread message

Arthur Hazebroucq

unread,
Apr 2, 2015, 8:42:18 AM4/2/15
to phrase...@googlegroups.com
Bonjour,

Je cherche à modifier les métadonnées d'un document via l'API.
Quand je récupère les métadonnées d'un document via l'API, j'obtient ceci (extrait) :

9:  
{
meta_id19
meta_structure_id34
name"Titre"
labels
{
fr"Titre"
en"Titre"
de"Titre"
nl"Titre"
}
-
value"Titre de base"
}



J'essaye donc de modifier cette métadonnée, en utilisant la route /api/v1/records/{databox_id}/{record_id}/setmetadatas/
avec les arguments suivants (j'utilise l'extension Advanced Rest Client pour Chrome pour envoyer mes requêtes) :









Cela ne fonctionne pas, j'ai une erreur 400 :
{
meta
{
api_version"1.4.1"
request"POST /api/v1/records/2/3/setmetadatas/"
response_time"2015-04-02T16:22:47+02:00"
http_code400
error_type"Bad Request"
error_message"Parameter is invalid or missing"
error_details"Un erreur est survenue"
charset"UTF-8"
}
-
response
{
}
}


J'imagine que mes paramètres sont mal formatés, mais je ne trouve pas comment le faire correctement : pourriez-vous m'aiguiller pour trouver la solution ?
Merci d'avance,

Cordialement,
A. Hazebroucq

Anthony Cabot

unread,
Apr 2, 2015, 12:31:15 PM4/2/15
to phrase...@googlegroups.com

Bonjour Arthur,

 

Je viens de vérifier le fonctionnement de la route en version 3.8.6 sur l'instance de demo Phraseanet.

 

Pour un document dont j'obtiens la notice de description par une requête GET :

 

https://demo.alchemyasp.com/api/v1/records/[databox_id]/[record_id]/metadatas/?oauth_token=[mon token]

 

 

{

·       meta

{

o   api_version"1.4.1",

o   request"GET /api/v1/records/52/914/metadatas/",

o   response_time"2015-04-02T17:42:23+02:00",

o   http_code200,

o   error_typenull,

o   error_messagenull,

o   error_detailsnull,

o   charset"UTF-8"

},

·       response

{

o   record_metadatas

[

§  {

§  meta_id20230,

§  meta_structure_id28,

§  name"TypologieMedia",

§  labels

{

§  fr"Type de média (FR)",

§  en"TypologieMedia",

§  de"TypologieMedia",

§  nl"TypologieMedia"

},

§  value"test"

},

§  {

§  meta_id20231,

§  meta_structure_id33,

§  name"TitreFr",

§  labels

{

§  fr"Titre (FR)",

§  en"TitreFr",

§  de"TitreFr",

§  nl"TitreFr"

},

§  value"Avion en papier très rapide"

}

]

}

}

 

 

 

Lorsque le champ à modifier existe, pour mettre à jour une métadonnée correspondant au TitreFr, je peux adresser la requête POST suivante :

 

https://demo.alchemyasp.com/api/v1/records/[databox_id]/[record_id]/setmetadatas/?metadatas[0][meta_struct_id]=33&metadatas[0][meta_id]=20231&metadatas[0][value]=Avion en papier volant à basse altitude&oauth_token=[mon_token]

 

Si la métadonnée n'existe pas encore, je peux obtenir le meta_structure_id dont j'ai besoin via la requête GET suivante :

 

https://demo.alchemyasp.com/api/v1/databoxes/[databox_id]/metadatas/?oauth_token=[mon_token]

 

Pour écrire une métadonnée qui n'existe pas encore, je peux adresser la requête POST suivante :

 

https://demo.alchemyasp.com/api/v1/records/[databox_id]/[record_id]/setmetadatas/?metadatas[0][meta_struct_id]=35&metadatas[0][meta_id]=&metadatas[0][value]=Les avions en papier recyclé sont une solution écologique pour adresser des messages à ses collègues de bureau&oauth_token=[mon_token]

 

 

Le fonctionnement est normal. 


Essayez de relire votre requête avec ces explications. 



Anthony Cabot,
Chef de projet chez Alchemy

************************************************

--
You received this message because you are subscribed to the Google Groups "phrasea-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to phrasea-deve...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--

Reply all
Reply to author
Forward
0 new messages