C# Class BCXAPI.Service

显示文件 Open project: WeAreMammoth/bcxapi-dotnet

Public Methods

Method Description
GetAccessToken ( string code ) : dynamic

step 2: Given a code that the url from GetRequestAuthorizationURL eventually redirects back to and the clientsecret you can get an access token. store this token somewhere as you need to provide it to this wrapper to make calls.

GetAccessesForCalendar ( int accountID, int calendarID ) : dynamic
GetAccessesForProject ( int accountID, int projectID ) : dynamic
GetAccounts ( ) : dynamic
GetAttachments ( int accountID, int projectID ) : dynamic
GetCalendar ( int accountID, int calendarID ) : dynamic
GetCalendarEvent ( int accountID, int calendarID, int calendarEventID ) : dynamic
GetCalendarEventForProject ( int accountID, int projectID, int calendarEventID ) : dynamic
GetCalendarEvents ( int accountID, int calendarID, bool past = false ) : dynamic
GetCalendarEventsForProject ( int accountID, int projectID, bool past = false ) : dynamic
GetCalendars ( int accountID ) : dynamic
GetDocument ( int accountID, int projectID, int documentID ) : dynamic
GetDocuments ( int accountID, int projectID ) : dynamic
GetGlobalEvents ( int accountID, System.DateTime since = null, int page = 1 ) : dynamic
GetMessage ( int accountID, int projectID, int messageID ) : dynamic
GetPeople ( int accountID ) : dynamic
GetPerson ( int accountID, int personID ) : dynamic
GetPersonEvents ( int accountID, int personID, System.DateTime since = null, int page = 1 ) : dynamic
GetProject ( int accountID, int projectID ) : dynamic
GetProjectEvents ( int accountID, int projectID, System.DateTime since = null, int page = 1 ) : dynamic
GetProjects ( int accountID, bool archived = false ) : dynamic
GetRequestAuthorizationURL ( string>.Dictionary optionalArguments = null ) : string

step 1: get the URL to redirect your users to

GetTodo ( int accountID, int projectID, int todoID ) : dynamic
GetTodoList ( int accountID, int projectID, int todoListID ) : dynamic
GetTodoLists ( int accountID, int projectID, bool completed = false ) : dynamic
GetTodoListsWithAssignedTodos ( int accountID, int personID ) : dynamic
GetTopics ( int accountID, int projectID ) : dynamic
GetUpload ( int accountID, int projectID, int uploadID ) : dynamic
RefreshAccessToken ( ) : dynamic

call this when you get a TokenExpired exception and store the new access token for future requests

Service ( string clientID, string clientSecret, string redirectURI, string appNameAndContact, BCXAPI cache = null, dynamic accessToken = null ) : System

create a service class with an authorization token retrieved from GetAuthToken (if you have it). If you do not provide one then you will only be able to get the URL to the basecamp authorization requested page and to validate a code returned to you by that authorization. parameters come from the app you set up at integrate.37signals.com

Private Methods

Method Description
_getJSONFromURL ( string url ) : dynamic

helper method to make a get request to basecamp. checks cache first if you've already received that response and checks with basecamp if you need to update your cache.

Method Details

GetAccessToken() public method

step 2: Given a code that the url from GetRequestAuthorizationURL eventually redirects back to and the clientsecret you can get an access token. store this token somewhere as you need to provide it to this wrapper to make calls.
public GetAccessToken ( string code ) : dynamic
code string the code given to you by basecamp
return dynamic

GetAccessesForCalendar() public method

public GetAccessesForCalendar ( int accountID, int calendarID ) : dynamic
accountID int
calendarID int
return dynamic

GetAccessesForProject() public method

public GetAccessesForProject ( int accountID, int projectID ) : dynamic
accountID int
projectID int
return dynamic

GetAccounts() public method

public GetAccounts ( ) : dynamic
return dynamic

GetAttachments() public method

public GetAttachments ( int accountID, int projectID ) : dynamic
accountID int
projectID int
return dynamic

GetCalendar() public method

public GetCalendar ( int accountID, int calendarID ) : dynamic
accountID int
calendarID int
return dynamic

GetCalendarEvent() public method

public GetCalendarEvent ( int accountID, int calendarID, int calendarEventID ) : dynamic
accountID int
calendarID int
calendarEventID int
return dynamic

GetCalendarEventForProject() public method

public GetCalendarEventForProject ( int accountID, int projectID, int calendarEventID ) : dynamic
accountID int
projectID int
calendarEventID int
return dynamic

GetCalendarEvents() public method

public GetCalendarEvents ( int accountID, int calendarID, bool past = false ) : dynamic
accountID int
calendarID int
past bool
return dynamic

GetCalendarEventsForProject() public method

public GetCalendarEventsForProject ( int accountID, int projectID, bool past = false ) : dynamic
accountID int
projectID int
past bool
return dynamic

GetCalendars() public method

public GetCalendars ( int accountID ) : dynamic
accountID int
return dynamic

GetDocument() public method

public GetDocument ( int accountID, int projectID, int documentID ) : dynamic
accountID int
projectID int
documentID int
return dynamic

GetDocuments() public method

public GetDocuments ( int accountID, int projectID ) : dynamic
accountID int
projectID int
return dynamic

GetGlobalEvents() public method

public GetGlobalEvents ( int accountID, System.DateTime since = null, int page = 1 ) : dynamic
accountID int
since System.DateTime
page int
return dynamic

GetMessage() public method

public GetMessage ( int accountID, int projectID, int messageID ) : dynamic
accountID int
projectID int
messageID int
return dynamic

GetPeople() public method

public GetPeople ( int accountID ) : dynamic
accountID int
return dynamic

GetPerson() public method

public GetPerson ( int accountID, int personID ) : dynamic
accountID int
personID int
return dynamic

GetPersonEvents() public method

public GetPersonEvents ( int accountID, int personID, System.DateTime since = null, int page = 1 ) : dynamic
accountID int
personID int
since System.DateTime
page int
return dynamic

GetProject() public method

public GetProject ( int accountID, int projectID ) : dynamic
accountID int
projectID int
return dynamic

GetProjectEvents() public method

public GetProjectEvents ( int accountID, int projectID, System.DateTime since = null, int page = 1 ) : dynamic
accountID int
projectID int
since System.DateTime
page int
return dynamic

GetProjects() public method

public GetProjects ( int accountID, bool archived = false ) : dynamic
accountID int
archived bool
return dynamic

GetRequestAuthorizationURL() public method

step 1: get the URL to redirect your users to
public GetRequestAuthorizationURL ( string>.Dictionary optionalArguments = null ) : string
optionalArguments string>.Dictionary pass in this optional parameter to get these key value pairs passed back to your redirect URL in the query string
return string

GetTodo() public method

public GetTodo ( int accountID, int projectID, int todoID ) : dynamic
accountID int
projectID int
todoID int
return dynamic

GetTodoList() public method

public GetTodoList ( int accountID, int projectID, int todoListID ) : dynamic
accountID int
projectID int
todoListID int
return dynamic

GetTodoLists() public method

public GetTodoLists ( int accountID, int projectID, bool completed = false ) : dynamic
accountID int
projectID int
completed bool
return dynamic

GetTodoListsWithAssignedTodos() public method

public GetTodoListsWithAssignedTodos ( int accountID, int personID ) : dynamic
accountID int
personID int
return dynamic

GetTopics() public method

public GetTopics ( int accountID, int projectID ) : dynamic
accountID int
projectID int
return dynamic

GetUpload() public method

public GetUpload ( int accountID, int projectID, int uploadID ) : dynamic
accountID int
projectID int
uploadID int
return dynamic

RefreshAccessToken() public method

call this when you get a TokenExpired exception and store the new access token for future requests
public RefreshAccessToken ( ) : dynamic
return dynamic

Service() public method

create a service class with an authorization token retrieved from GetAuthToken (if you have it). If you do not provide one then you will only be able to get the URL to the basecamp authorization requested page and to validate a code returned to you by that authorization. parameters come from the app you set up at integrate.37signals.com
public Service ( string clientID, string clientSecret, string redirectURI, string appNameAndContact, BCXAPI cache = null, dynamic accessToken = null ) : System
clientID string your client id from 37s
clientSecret string your client secret from 37s
redirectURI string the redirect URI you set up with 37s - this must match
appNameAndContact string your application name and contact info - added to your request header
cache BCXAPI an optional cache to use for caching responses from 37s. if you don't provide one, it'll use the System.Runtime.Caching.MemoryCache.Default cache
accessToken dynamic if you have an access token, provide it here. this is the entire json object returned from the call to GetAccessToken
return System