[9.2.1 - version 50] GESI - Google Sheets ESI Add-On - Now an EVE Online Partner!

3.3.0 December 30, 2017


New Features

  • Add allianceContact function.

Bug Fixes

  • Fix Reference does not exist bug on various endpoints again.

New Required Scopes - Reauth will be required to use related functions

esi-alliances.read_contacts.v1

I regularly find myself using your script, so I feel obligated to help improve it.

The Name Lookup functions are all currently broken and my HTML POST + JS skills are failing me.

The new /universe/names/ endpoint should be added as well (basically a typeless version of the other ones you already have).

Also I personally would suggest having an option to get all pages ( ‘do while page <= x-page’) that you can trigger with some kind of option (maybe ‘page = -1’) or something.

I just tried the allianceNames and corporationNames endpoints and they seem to be fine?

EDIT:

As to the return all pages requests i get. I been debating this for a while. I would rather keep it to just single pages since that is how ESI does it. If the user wants to edit it to return all pages they are free to. I do not want it to have to get EVERY page every time since I am not really familiar with the request quotas/limits on google sheets.

Hmm crazy. I just re-copied the script minus the auth stuff, and it worked. No idea where mine stopped working, it was a direct copy paste from only the day before hah.

Thanks again.

There are excellent and easily defensible reasons for your design decisions and nearly as persuasive reasons for “pull all of it.”

The author calls the shots!

It’s a great piece of work, either way.

I’ve got four characters on two paid accounts and I’m unable to authorize just one of them.

What have I overlooked?

Account 1
Alt 1 / in-corp - successful authorization
Alt 2 / NPC - successful authorization
Alt 3 / in-corp - UNSUCCESSFUL authorization

Account 2
Alt 1 - in-corp - successful authorization

CHARACTERS = [
{
// Account 1
character_name: ‘Alt 1’, corporation_id: 888888
},

{
character_name: ‘Alt 2’
},
{
character_name: ‘Alt 3’, corporation_id: 888888
},

// Account 2
{
character_name: ‘Alt 4’,corporation_id: 888888
}
];

AUTHING_CHARACTER = CHARACTERS[0];
AUTHING_CHARACTER = CHARACTERS[1];
AUTHING_CHARACTER = CHARACTERS[2];
AUTHING_CHARACTER = CHARACTERS[3];

:man_shrugging: Are there any errors or messages?

Access not granted or expired
line 363

Note that when I added the NPC alt in Account 1 I did not do anything in the sheet except refresh.

I do not see the “reauth” menu item in Sheets.

Off the top of my head i dont really know. There isn’t a reauth option. You just set AUTHING_CHARACTER to the one you want to auth and just click authorize sheet in the drop down. It will override the auth details for that char. Otherwise, make sure you added the corporation_id field, make sure accounts are subbed.

That error happens because that char you are trying to use isnt authed. Are there any error messages you get when you try to auth it?

I think you’re on to something. I no longer see the “authorize sheet” in a drop down…or I’ve forgotten where it is in the menu structure.

image

If you dont have that dropdown, is a good clue.

Where your GESI item should be I’ve got the “GCES” “check for updates” button.

It seems his button overrides mine. I’ll do some testing to fix that. For now you can find the onOpen function in the GCES script and comment it out. Then refresh.

1 Like

Industrialist Tip of the Hat ™ to you

Hello there, I found this lib and I’m fairly impressed, I didn’t know google proposed a callback url service you could configure with a script. I installed it and everything worked just fine.

I had few questions :

  • Why do you want the corporation ID ? the “/characters/{character_id}/” interface deliver that information

  • Where do you store the refresh token ? do you have to reauth your character everytime you want to use the sheet ?

anyway, great work and thanks for sharing

@Cixi
Thanks! Good to hear.

  1. It is so that you do not have to manually add your corporation_id to the function call. Similar to how you do not have to input your character_id in the character endpoints.
  2. AFAIK the Google OAuth2 script handles all of that, i.e. refreshing the token when expired and such.

Going to have an update in next few weeks to address some issues with the auth process, so stay tuned!

4.0.0 February 11, 2018


New Features

Version 4.0.0 brings massive changes to GESI with the two major goals of making it easier to maintain while providing more functionality to the end users. This change includes a complete rewrite the script, removal of the Oauth2 Google Script as a requirement, and finally, the functions/endpoints code is now all generated from the ESI swagger.json definition file vs being manually maintained.

Version 4.0.0 includes:

  • Includes ALL GET ESI requests and all scopes
  • Language support on supported ESI endpoints
  • Better handling of tokens, reduces external requests by a lot
  • Much easier to add/update endpoints resulting in faster updates
  • Support for non-sheet owners to auth and use the script.

BREAKING CHANGES

  • Function names are now snake case vs camelCase
  • Endpoints and functions are now in their own files
  • Column names are now snake case
  • JSON structure of each endpoint has changed
  • CHARACTERS array has changed again to array of character names
  • Will need to reauth to make use of new auth flow and for the new scopes

As usual any issues please create an issue on the Github repo and let me know. Any questions feel free to get in touch or drop a comment on the EVEO forums.

Smoke

3 Likes

Sorry, I can’t resist, “holy Smoke.” This is great to have it all in one place!

Hello, can you please explain how I can add Corp Member to the Sheet? I added the name in the CHARACTER array and I added another AUTHING_CHARACTER in the script. Every time my corpmate clicked on the auth link he get an error as result.
Is it basically possible to add characters in this way or where is my mistake?

thx Franics

This is your issue. You should not add another AUTHING_CHARACTER variable into the script. What you need to do is like this:

  • You have the character names in the CHARACTERS array like CHARACTERS = ['character1', 'character2', 'character3'];
  • AUTHING_CHARACTER is like AUTHING_CHARACTER = CHARACTERS[0];
  • When you click Authorize Sheet in the GESI dropdown this would generate a link and after the SSO process would auth character1.
  • To auth character two you would add one (1) to the number in brackets. so that AUTHING_CHARACTER is like AUTHING_CHARACTER = CHARACTERS[1];
  • Then click Authorize Sheet in the GESI dropdown again to generate a link and after the SSO process would auth character2.
  • Repeat for same process for character3 of adding 1 to number in brackets and going thru auth flow again.

After you finished authing all of your characters, it is important to know that AUTHING_CHARCTER also acts as your ‘main’ character, meaning if you call a function like characters_character_assets without the name parameter, it will default to whatever AUTHING_CHARCTER is set to.

1 Like