概要 AtoM(Access to Memory)のAPIを使って、オブジェクトを登録する方法の備忘録です。
APIの有効化 以下にアクセスします。
/sfPluginAdminPlugin/plugins
arRestApiPluginを有効にします。
APIキーの取得 以下に、APIキーを生成する方法が説明されています。
https://www.accesstomemory.org/en/docs/2.9/dev-manual/api/api-intro/#generating-an-api-key-for-a-user
ユーザ名とパスワードでもAPI接続できるようですが、今回はREST API Keyを発行しました。
エンドポイント AtoMでは、「典拠レコード」や「機能」など、複数のメニューが提供されていますが、APIによって利用できるのは、以下のみのようです。
See the subsequent pages for more details on each endpoint, and available parameters. There are three endpoints available:
Browse taxonomy terms
Browse information objects
Read information object
Download digital objects
Add physical objects
この点は、ArchivesSpaceのほうが豊富なAPIが提供されており、軍配が上がるかもしれません。
https://archivesspace.github.io/archivesspace/api/
また、以下のソースコードを確認すると、CreateActionが可能なものは、informationobjectsとphysicalobjects、digitalobjectsに限定されているようでした。
https://github.com/artefactual/atom/tree/qa/2.x/plugins/arRestApiPlugin/modules/api/actions
ただ機械的に一括登録を行いたい場面は、主にinformationobjectsだと考えられるため、これらの機能のみで十分かもしれません。
physical objectsの登録 以下のようなクラスを用意します。
# c | l a e s x s d d p e e o A f f r p t i l s u p a i e a u p r # i e C _ o e s a p f l d r r e f l l i a l e s i s d l i s レ s i n d f r s _ a e _ n p ス r e e i _ . n w k p s } : # a a a s } p = t o ポ e p p p # r p p : p p n t d u a o e i e u u u e h ( n ン s r r r e r r r r t _ o r m r y _ l B t t t l y f u s ス p i i i 作 s i i i i : _ t l e d k f a h h h f s " r e を o n n n 成 u n n n n ( e = e . " " s _ _ _ . " " i { l 確 n t t t さ l t t t t s n = = = y h R C i s b b h A C c s , = 認 s ( ( ( れ t ( ( ( ( e v o : e E o c t y 6 e u o a e e " f f た f j f f l ( o o o s a S n r t 4 a t n l l s r . 物 " " オ = " s " " f o s s s . d T t 認 i e d h t _ f e e s 理 ス レ ブ 作 o エ レ ) v . . . g e - e 証 n s = e o e o . l q t オ テ ス ジ r 成 n ラ ス : e g g g e r A n の g r r n b u f u a ブ ー ポ ェ e さ . ー ポ r e e e t s P t ヘ = b s i t j r . e t ジ タ ン ク s れ d : ン r t t t e I - ッ = a z - e l h s u ェ ス ス ト p た u ス i e e e n = - T ダ a s = a T c } e t s ク コ : の o 物 m { : d n n n v K y ー f u e t y t / a s _ ト ー 情 n 理 p r e v v v ( { e p を " t 6 { i p s a d . c が ド { 報 s オ s e { = ( ( ( " y e 作 { h 4 o e ( p e p o 作 : r e ブ ( s r T " " " a " " 成 u _ . n " s i r o d 成 e . ジ r p e r a u p p : : s s b " : e / s s e さ { s j ェ e o s u t s a i e t 6 : l p , t れ r p s ク s n p e o e s _ a " r r 4 " f h ( i ま e o o ト u s o ) m r s k p a n i e f a , y p u n し s n n I l e n _ n w e i p a n n " p s h r た p s ( D t . s u a o y _ p m g c B p p i y l [ ! o e ) : , s e r m r " k l e . o a l h c s , 2 " n . t . l e d ) e i } e d s i y a i 0 ) s t { i a t " " " y c : n e i c s l c h 0 e e r n t e ) ) ) , a { c ( c a i o a e , . x e d u x t p o a t c b l a s t s e s t i a d u { i a j _ d 2 t } u n _ } o s e t a o l e o e 0 a " l t c " n s ( h u n _ c b r 1 t ) t = o ) / w ' _ t / o t j s ] u . 4 d j o a b h j b s e = : s g ) e s r s y _ s j " c s _ e ) } o d c t b o e t e c t " n } i e 6 n c s l o ( ) " " i s 4 " t ) f d ' ' ) } s . e i ) . " ) h } d d , : e " ' e a ) ) c d } o e " d r ) e s ( , ' a j s s c o i n i = ' p ) h y s i c a l _ o b j e c t s ) 以下で実行します。
...