Zotero

Build Status Coverage Status License: MIT contributions welcome

API documentation

Creating items and collections

```rust extern crate zotero; use zotero::ZoteroInit; use zotero::Post; use zotero::data_structure::item::{BookData, BookDataBuilder, Creator, CreatorBuilder};

let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");

let creators : Vec = vec![ CreatorBuilder::default() .creatortype("author") .firstname("John") .last_name("Doe") .build() .unwrap() ];

let newbook : BookData = BookDataBuilder::default() .title("Sample2") .creators(creators) .item_type("book") .build() .unwrap();

z.createnewitem(new_book); ```

Updating items and collections

```rust extern crate zotero; use zotero::ZoteroInit; use zotero::Patch; use zotero::Get; use zotero::data_structure::item::ItemType;

let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");

let item = z.get_item("Q8GNE36F", None);

if let Ok(mut result) = item { if let ItemType::Book(bookdata) = &mut result.data { bookdata.title = "A new title".tostring(); bookdata.publisher = "A new publisher".tostring(); z.updateitem(&bookdata.key, &bookdata); }; println!("{:?}", serdejson::to_string(&result.data)); }; ```