Provided by: libwww-zotero-perl_0.04-2_all bug

NAME

       WWW::Zotero - Perl interface to the Zotero API

SYNOPSIS

           use WWW::Zotero;

           my $client = WWW::Zotero->new;
           my $client = WWW::Zotero->new(key => 'API-KEY');

           my $data = $client->itemTypes();

           for my $item (@$data) {
               print "%s\n" , $item->itemType;
           }

           my $data   = $client->itemFields();
           my $data   = $client->itemTypeFields('book');
           my $data   = $client->itemTypeCreatorTypes('book');
           my $data   = $client->creatorFields();
           my $data   = $client->itemTemplate('book');
           my $key    = $client->keyPermissions();
           my $groups = $client->userGroups($userID);

           my $data   = $client->listItems(user => '475425', limit => 5);
           my $data   = $client->listItems(user => '475425', format => 'atom');
           my $generator = $client->listItems(user => '475425', generator => 1);

           while (my $item = $generator->()) {
               print "%s\n" , $item->{title};
           }

           my $data = $client->listItemsTop(user => '475425', limit => 5);
           my $data = $client->listItemsTrash(user => '475425');
           my $data = $client->getItem(user => '475425', itemKey => 'TTJFTW87');
           my $data = $client->getItemTags(user => '475425', itemKey => 'X42A7DEE');
           my $data = $client->listTags(user => '475425');
           my $data = $client->listTags(user => '475425', tag => 'Biography');
           my $data = $client->listCollections(user => '475425');
           my $data = $client->listCollectionsTop(user => '475425');
           my $data = $client->getCollection(user => '475425', collectionKey => 'A5G9W6AX');
           my $data = $client->listSubCollections(user => '475425', collectionKey => 'QM6T3KHX');
           my $data = $client->listCollectionItems(user => '475425', collectionKey => 'QM6T3KHX');
           my $data = $client->listCollectionItemsTop(user => '475425', collectionKey => 'QM6T3KHX');
           my $data = $client->listCollectionItemsTags(user => '475425', collectionKey => 'QM6T3KHX');
           my $data = $client->listSearches(user => '475425');

CONFIGURATION

       baseurl
           The base URL for all API requests. Default 'https://api.zotero.org'.

       version
           The API version. Default '3'.

       key The API key which can be requested via https://api.zotero.org.

       modified_since
           Include a UNIX time to be used in a If-Modified-Since header to allow for caching of
           results by your application.

METHODS

   username2userID
       Find the userID based on a username

   itemTypes()
       Get all item types. Returns a Perl array.

   itemTypes()
       Get all item fields. Returns a Perl array.

   itemTypes($type)
       Get all valid fields for an item type. Returns a Perl array.

   itemTypeCreatorTypes($type)
       Get valid creator types for an item type. Returns a Perl array.

   creatorFields()
       Get localized creator fields. Returns a Perl array.

   itemTemplate($type)
       Get a template for a new item. Returns a Perl hash.

   keyPermissions($key)
       Return the userID and premissions for the given API key.

   userGroups($userID)
       Return an array of the set of groups the current API key as access to.

   listItems(user => $userID, %options)
   listItems(group => $groupID, %options)
       List all items for a user or ar group. Optionally provide a list of options:

           sort      - dateAdded, dateModified, title, creator, type, date, publisher,
                  publicationTitle, journalAbbreviation, language, accessDate,
                  libraryCatalog, callNumber, rights, addedBy, numItems (default dateModified)
           direction - asc, desc
           limit     - integer 1-100* (default 25)
           start     - integer
           format    - perl, atom, bib, json, keys, versions , bibtex , bookmarks,
                       coins, csljson, mods, refer, rdf_bibliontology , rdf_dc ,
                       rdf_zotero, ris , tei , wikipedia (default perl)

           when format => 'json'

               include   - bib, data

           when format => 'atom'

               content   - bib, html, json

           when format => 'bib' or content => 'bib'

               style     - chicago-note-bibliography, apa, ...  (see: https://www.zotero.org/styles/)

           itemKey    - A comma-separated list of item keys. Valid only for item requests. Up to
                        50 items can be specified in a single request.
           itemType   - Item type search
           q          - quick search
           qmode      - titleCreatorYear, everything
           since      - integer
           tag        - Tag search

       See: https://www.zotero.org/support/dev/web_api/v3/basics#user_and_group_library_urls for
       the search syntax.

       Returns a Perl HASH containing the total number of hits plus the results:

           {
               total => '132',
               results => <data>
           }

   listItems(user => $userID | group => $groupID, generator => 1 , %options)
       Same as listItems but this return a generator for every record found. Use this method to
       sequentially read the complete resultset. E.g.

           my $generator = $self->listItems(user => '231231', generator);

           while (my $record = $generator->()) {
               printf "%s\n" , $record->{title};
           }

       The format is implicit 'perl' in this case.

   listItemsTop(user => $userID | group => $groupID, %options)
       The set of all top-level items in the library, excluding trashed items.

       See 'listItems(...)' functions above for all the execution options.

   listItemsTrash(user => $userID | group => $groupID, %options)
       The set of items in the trash.

       See 'listItems(...)' functions above for all the execution options.

   getItem(itemKey => ... , user => $userID | group => $groupID, %options)
       A specific item in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the item if found.

   getItemChildren(itemKey => ... , user => $userID | group => $groupID, %options)
       The set of all child items under a specific item.

       See 'listItems(...)' functions above for all the execution options.

       Returns the children if found.

   getItemTags(itemKey => ... , user => $userID | group => $groupID, %options)
       The set of all tags associated with a specific item.

       See 'listItems(...)' functions above for all the execution options.

       Returns the tags if found.

   listTags(user => $userID | group => $groupID, [tag => $name] , %options)
       The set of tags (i.e., of all types) matching a specific name.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of tags.

   listCollections(user => $userID | group => $groupID , %options)
       The set of all collections in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of collections.

   listCollectionsTop(user => $userID | group => $groupID , %options)
       The set of all top-level collections in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of collections.

   getCollection(collectionKey => ... , user => $userID | group => $groupID, %options)
       A specific item in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the collection if found.

   listSubCollections(collectionKey => ...., user => $userID | group => $groupID , %options)
       The set of subcollections within a specific collection in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of (sub)collections.

   listCollectionItems(collectionKey => ...., user => $userID | group => $groupID , %options)
       The set of all items within a specific collection in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of items.

   listCollectionItemsTop(collectionKey => ...., user => $userID | group => $groupID , %options)
       The set of top-level items within a specific collection in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of items.

   listCollectionItemsTags(collectionKey => ...., user => $userID | group => $groupID , %options)
       The set of tags within a specific collection in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of items.

   listSearches(user => $userID | group => $groupID , %options)
       The set of all saved searches in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the list of saved searches.

   getSearch(searchKey => ... , user => $userID | group => $groupID, %options)
       A specific saved search in the library.

       See 'listItems(...)' functions above for all the execution options.

       Returns the saved search if found.

AUTHOR

       Patrick Hochstenbach, "<patrick.hochstenbach at ugent.be>"

CONTRIBUTORS

       Francois Rappaz

LICENSE AND COPYRIGHT

       Copyright 2015 Patrick Hochstenbach

       This program is free software; you can redistribute it and/or modify it under the terms of
       either: the GNU General Public License as published by the Free Software Foundation; or
       the Artistic License.

       See http://dev.perl.org/licenses/ for more information.