NAME
WebService::BasecampX - Perl interface to the bcx Basecamp API
SYNOPSIS
use WebService::BasecampX;
my $bc = WebService::BasecampX->new(
username => $user,
password => $pass,
account_id => $account
);
for my $project ( @{ $bc->projects } ) {
say join( "\t", $project->{last_event_at}, $project->{name} );
my $todo_lists = $bc->project_todolists( project => $project->{id} );
# do something with $todo_lists
}
DESCRIPTION
WebService::BasecampX is a client implentation for the bcx Basecamp API
This module currently only supports the GET methods on the Basecamp API
but provides 100% coverage for them. Thus, it provides full read-only
access to the Basecamp API. Creating and modifying things is coming in a
future release when I get enough tuits.
Optional and required arguments for the various methods are expected as
named arguments to the method. See the synopsis call to
"project_todolists" for example usage.
METHODS
attachments
Show attatchments for all projects.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/attachments.m
d>
calendar
Returns the specified calendar.
Required arguments: "calendar"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
calendar_accesses
Returns all the people with access to the calendar
Required arguments: "calendar"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/accesses.md>
calendar_event
Returns specified calnedar event.
Required arguments: "calendar", "event"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
calendar_events
Returns upcoming calendar events for the given calendar.
Required arguments: "calendar"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
calendar_events_past
Returns past calendar events for the given calendar.
Required arguments: "calendar"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
calendars
Returns all calendars, sorted alphabetically.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
document
Returns specified document with all comments.
Required arguments: "project", "document"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/documents.md>
documents
Shows documents for all projects.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/documents.md>
events
Returns all events on the account, 50 per page
Optional arguments: "since", "page"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/events.md>
message
Return a specified message
Required arguments: "project", "message"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/messages.md>
people
Returns all people on the account.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/people.md>
person
Returns a specified person.
Required arguments: "person"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/people.md>
person_me
Returns the current person.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/people.md>
person_todolists
Returns all todolists with todos assigned to the specified person.
Required arguments: "person"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
project
Retrieve data for specified project.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/projects.md>
project_accesses
Returns all the people with access to the project
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/accesses.md>
project_attachments
Show attatchments for given project.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/attachments.m
d>
project_calendar_event
Returns specified calnedar event.
Required arguments: "project", "event"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
project_calendar_events
Returns upcoming calendar events for the project.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
project_calendar_events_past
Returns past calendar events for the project.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/calendars.md>
project_documents
Shows documents for specified project, alphabetically by title.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/documents.md>
project_todolists
Shows active todolists for given project, sorted by position.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
project_todolists_completed
Shows completed todolists for given project.
Required arguments: "project"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
project_topics
Returns topics for given project, 50 per page.
Required arguments: "project"
Optional arguments: "page"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/topics.md>
projects
Retrieve data for all projects user has access to.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/projects.md>
projects_archived
Retrieve data for all archived projects user has access to.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/projects.md>
todo
Returns the specified todo.
Required arguments: "project", "todo"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todos.md>
todolist
Returns the specified todolist, including the todos.
Required arguments: "project", "todolist"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
todolists
Show all active todolists for all projects.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
todolists_completed
Show completed todolists for all projects.
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/todolists.md>
topics
Returns all topics for the account, 50 per page.
Optional arguments: "page"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/topics.md>
upload
Returns the content, comments, and attatchments for specified upload.
Required arguments: "project", "upload"
See the Basecamp API docs for this method for more information or a
sample of returned data.
<https://github.com/37signals/bcx-api/blob/master/sections/uploads.md>
AUTHOR
Mike Greb <michael@thegrebs.com>
COPYRIGHT
Copyright 2013- Mike Greb
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
Basecamp API Docs <https://github.com/37signals/bcx-api>