These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
123Next pageLast page
 

EveAI Live (EVE-Online API/class library for .Net/ C#/ VB.Net)

Author
Jognu
French Kiss Singularity
#1 - 2011-10-15 12:43:01 UTC  |  Edited by: Jognu
EveAI is a .NET library that give you access to all of the Eve Online API functions and the Eve Online static data.

EveAI is completely self-contained and does not need any database or other libraries except the .NET/Mono framework. EveAI is completely platform independent and has been tested on Windows/.Net and various flavors of Linux using Mono.

You don't have to worry about the return format (XML, etc), the cache or others things (EveAI take care of this).
Just call a function and you'll get the result with nice class and attributs.
The main advantage of EveAI : you have an automatic reference resolution across the API data and the static data.

Example: you get assets from API, you have the volume/mass/etc for each items.

EveAI was originally developed by Amida Ta (many thanks !)

If you have any issues report them with a post in this topic.
And let me know if you have any feature requests.

Current version is:
https://bitbucket.org/Jognu/eveai/downloads/EVEAI_3.1.3.0.zip

Complete static data (Carnyx) :
http://eveai.federatis.fr/Carnyx/EveAI.Data.zip

Public source code repository and README : https://bitbucket.org/Jognu/eveai
If you want to participate, send me a request and I'll give you access to it !
You can also fork and do pull requests if you prefer to work on your side.

Try to follow the existing structure when you add things !

Changelog : https://bitbucket.org/Jognu/eveai/src/65a06f5f665684f6fdc88e0bfe089e688ccd5821/CHANGELOG.md?at=default

Special Thanks to Yar'vak.

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Drechlas
Deep Core Mining Inc.
Caldari State
#2 - 2011-11-03 07:33:04 UTC
Hey I've been toying around a bit with the api, looks good.

One question tough, could you please sign your assemblies with a strong name key? Or at least publish a signed version too?

Thanks a billion
Drechlas
Deep Core Mining Inc.
Caldari State
#3 - 2011-11-08 10:47:18 UTC
bump anyone alive? Sad
Jognu
French Kiss Singularity
#4 - 2011-11-08 14:09:15 UTC  |  Edited by: Jognu
Hello,
I saw your post, I'll do that as soon as possible !

Old changelog (added 01/07/2013) :
Quote:

Version 2.6.5.0

Version 2.6.4.0

Version 2.6.3.0

Version 2.6.2.0

Version 2.6.1.0

  • New static data (Retribution_1.0)
  • There is a bug on the CCP export in the invMarketGroups table with the parentGroupID (some items have a parentID that is not in the table). So if you use this to get market tree, you may have some bug.

Version 2.6.0.0

  • New static data (Inferno_1.2_76477)
  • Beta parser for EMDR (see #120)

Version 2.5.0.0

  • New static data (Inferno_1.0_70633)
  • Fix GetIdForObject always return -1
  • Remove App.config for the cache folder, use EveApiBase.Configuration.BaseDirectory
  • The two assemblies are now COM Visible
  • Add the queuePosition information for the CharacterSkillQueueApi
  • Add the null value for queuePosition in the SkillInTrainingApi

Version 2.4.0.1

  • New static data (Escalation_1.0_67593)
  • Add the CharacterLocationsApi, the CorporationLocationsApi and the TypeNameApi
  • Update the MemberTrackingApi so you can use (or not) the advanced mode (thanks to Gorn Che)
  • Add an App.config file which allow to change the cache folder (this file is optionnal, you can delete it)
  • Add the getCharacterNameLookup and the getCharacterIDLookup function
  • WalletJournalApi: fix an infnite loop (thanks to Almeiti du Larr)

Version 2.3.1.0

  • Fix the rowCount and fromID parameter for WalletTransactionApi
  • Fix an issue with the WalletJournalApi

Version 2.3.0.0

  • New static data (Crucible_1.1_334471)

Version 2.2.0.1

  • Fix issues with the fromID and the rowCount attributes for the WalletJournalApi
  • Add the attribute beforeKillID on the KillLogApi

Version 2.2.0.0

  • New percentile attribute on the EveCentralMarketApi GetProductStatistics method
  • Removal of the EveMetricsMarketApi
  • New method for the EveCentralMarketApi : GetProductOrders (quicklook)
  • Update for the CorporationSheetApi : now allows request without AuthentificationData

Version 2.1.0.1

  • Fix an issue in SkillTree (impact on SkillInTraining)

Version 2.1.0

  • News statics datas for Crucible_1.0_57975

Version 2.0.6

  • Change the .net framework to 2.0

Version 2.0.5

  • Implementation of Contracts API for character and corporation.
  • Implementation of ContractItems API for character and corporation.
  • Implementation of ContractBids API for character and corporation.
  • Items in the AssetList now include a rawQuantity.
  • MarketOrders now includes "an optional "orderID" parameter that can be provided to fetch any order belonging to your character/corporation".
  • CharacterInfo now includes employment history.

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Drechlas
Deep Core Mining Inc.
Caldari State
#5 - 2011-11-09 08:30:58 UTC
Thank you Big smile
Jognu
French Kiss Singularity
#6 - 2011-11-09 11:41:41 UTC
New release !

Quote:
Version 2.0.1

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Bosence
Frog Morton Industries
#7 - 2011-11-09 15:16:25 UTC  |  Edited by: Bosence
Quote:
api.getApiKeyInfo().KeyType


For me is returning 'Corporation', on keys that should return 'Character', ones in-able of being type 'Corporation'. Am I implementing this incorrectly? I'm using simple mode.

Edit: Is there also a way to find out if the API returned is for an individual character, or all the characters on the account? (Without making them give me a 'full' access key, and checking the mask - just a simple true or false for all characters would be ideal for me).

Thanks for the work put on this! :)
Jognu
French Kiss Singularity
#8 - 2011-11-09 16:46:41 UTC  |  Edited by: Jognu
Fixed in 2.0.3 : http://dl.eve-files.com/media/1111/EVEAI_2.0.3.zip
You now have a Character, a Corporation and a Account type !

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Bosence
Frog Morton Industries
#9 - 2011-11-09 18:47:38 UTC
Thanks for the quick response,

I'm now getting 'Account' for the type, however when navigating to the response myself (/account/APIKeyInfo.xml), I get what I'm expecting:
Quote:

key accessMask="117883161" type="Character" expires=""


All I have at the moment is:
Quote:

EveApi api = new EveApi(this.KeyID, this.VCode);
this.characterInfo.SelectedText = api.getApiKeyInfo().KeyType.ToString();
Jognu
French Kiss Singularity
#10 - 2011-11-09 20:14:44 UTC
It's my fault, should work better with this : http://dl.eve-files.com/media/1111/EVEAI_2.0.4.zip

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Drechlas
Deep Core Mining Inc.
Caldari State
#11 - 2011-11-10 13:20:34 UTC
Jognu, I like your style! Great follow up!

If you need some extra hands on the code base, just shout, I'll grab a looksie if need be
Bosence
Frog Morton Industries
#12 - 2011-11-10 18:38:38 UTC
Working now! Thank you very much :)
Viktor Rasmussen
KillTronic
Fraternity.
#13 - 2011-11-14 13:58:40 UTC
Thanks for your work!

Just one question: Is the advaced mode obsolete now? I frequently use Authentifiaction types like this in my code:

AuthenticationData auth = new AuthenticationData ();
auth.UserID = 99999;
auth.ApiKey = "dshoiashdoasdho";
auth.CharacterID = 99999;

I now see that auth.UserID/ApiKey/CharacterID are all absent.
Unhold
Arkon Industries
#14 - 2011-11-14 14:33:38 UTC
Hi,

I've small question, is there a function implemented to query all Chars from the provided api key?
I hope I'm not just to blind to see it.

Thanks for your help!

Unhold
Unhold
Arkon Industries
#15 - 2011-11-14 14:39:43 UTC
Unhold wrote:
Hi,

I've small question, is there a function implemented to query all Chars from the provided api key?
I hope I'm not just to blind to see it.

Thanks for your help!

Unhold


Ahrg, god damn it. I should have stared a bit longer at the lines:

For Each evechar In api.getApiKeyInfo().Characters
RichTextBox1.AppendText(vbCr & evechar.ToString)
Next


Thanks to myself :)
Viktor Rasmussen
KillTronic
Fraternity.
#16 - 2011-11-14 15:21:34 UTC
Viktor Rasmussen wrote:
Thanks for your work!

Just one question: Is the advaced mode obsolete now? I frequently use Authentifiaction types like this in my code:

AuthenticationData auth = new AuthenticationData ();
auth.UserID = 99999;
auth.ApiKey = "dshoiashdoasdho";
auth.CharacterID = 99999;

I now see that auth.UserID/ApiKey/CharacterID are all absent.


I found the way how it works now. Thanks anyway!

simpleApi = new EveApi(KeyID, ApiKey, CharacterID);
AuthenticationData auth = simpleApi.Authentication;
...
Jognu
French Kiss Singularity
#17 - 2011-11-14 22:29:55 UTC
Thanks Drechlas and Bosence !

Viktor Rasmussen, you can still use your method, but with the new API system.
Like this :

Quote:
auth = new AuthenticationData();
auth.KeyID = 9999;
auth.VCode = "qjsdijafifejfeshfsefuhesfeus834389RJFJDUfhufhd";


The old one with UserID and ApiKey is no longer supported in the latest EveAI releases.

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Unhold
Arkon Industries
#18 - 2011-11-15 09:58:13 UTC  |  Edited by: Unhold
Jognu wrote:
Thanks Drechlas and Bosence !

Viktor Rasmussen, you can still use your method, but with the new API system.
Like this :

Quote:
auth = new AuthenticationData();
auth.KeyID = 9999;
auth.VCode = "qjsdijafifejfeshfsefuhesfeus834389RJFJDUfhufhd";


The old one with UserID and ApiKey is no longer supported in the latest EveAI releases.


Oh great! Good to know.
But how do I get the CharID now? With the new auth method I'm not able to query the charID.

Thanks for your help!
Jognu
French Kiss Singularity
#19 - 2011-11-16 09:48:19 UTC
You want to get the CharID linked to the KeyID ?

EveAI developper: https://forums.eveonline.com/default.aspx?g=posts&t=21803

Unhold
Arkon Industries
#20 - 2011-11-17 09:36:17 UTC
Jognu wrote:
You want to get the CharID linked to the KeyID ?


I want the CharID of any Char linked to the Key.
I'm able to enumerate the Chars of the key but only their names with Corp as a string.
But to query the char sheet for example I need the CharID.

I bet this is quite simple but I didn't see it.
123Next pageLast page