Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.
/ ESISharp Public archive

A C# Library for interacting with the Eve Online ESI API.

License

Notifications You must be signed in to change notification settings

wranders/ESISharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESISharp

C# Library for interacting with the Eve Online ESI API.

GitHub release

!!! Status !!!

I've won Eve and don't forsee changing that, so I don't plan on continuing development of this library.

The master branch is embarrassingly bad, so if you're going to base anything off of this, use the dev-restructure branch as that was a ground-up rewrite and worked much better (and actually had unit testing).

Thanks to everyone that was interested and helped with this. o7


To use, utilize the ESISharp namespace and create one of the following objects:

  • ESIEve.Public()
  • ESIEve.Authenticated( ClientID, SecretKey )
    • ClientID is required for authenticated access.
    • SecretKey is optional, but will grant you a Refresh Token for future access.

The Authenticated object has access to both Public and Authenticated paths.

Requests are made with a fluent builder pattern. Requests return the EsiResponse object.

Request examples:

  • ESIEve.Alliance.GetAll().Execute() - Request, returns EsiResponse
  • ESIEve.Alliance.GetAll().ExecuteAsync() - Request, returns Task<EsiResponse>
  • ESIEve.Alliance.GetAll().Route("v1").Execute() - Request a specific route/version
  • ESIEve.Alliance.GetAll().DataSource( DataSource.Singularity ).Execute() - Request a specific DataSource
  • Route and DataSource specifications can be use together and in any order.

EsiResponse object structure:

Parameter Name Parameter Type
Body String
Code System.Net.HttpStatusCode
Headers EsiResponseHeaders

EsiResponseHeaders object structure:

Parameter Name Parameter Type Description
ContentType String Response body format
Date DateTime Time the request was made
Expires DateTime Time the request data will be invalid
LastModified DateTime Time the request data was last modified by CCP
Warning String (Optional) Response warning message if one was returned

The refresh token can be retrieved using ESIEve.SSO.GetRefreshToken()
The refresh token can be set using ESIEve.SSO.SetRefreshToken( Token )

ESISharp includes an executable that catches the response from Eve SSO and routes it back to ESISharp.
It's filename, location, and operating protocol is fully configurable for your application.
You application will require permissions to write to the Registry to create the forwarding protocol for the AuthRouter.

By default, the router filename is EveSSOAuthRouter and must be located in the same directory as the ESISharp library.
The default protocol is eveauth-app and the default path is callback/. (Full callback url is eveauth-app://callback/)
To create or repair the required registry key, run ESIEve.SSO.VerifyCallbackProtocolRegistryKey()


Requires Json.NET


EVE Online © 2016 CCP hf.

About

A C# Library for interacting with the Eve Online ESI API.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages