# \[10.0.0 - version 52\] GESI - Google Sheets ESI Add-On - Now an EVE Online Partner!

**URL:** <https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406>\
**Category:** Third Party Developers\
**Tags:** esi, tool\
**Created:** [August 3, 2017, 10:59pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406 "2017-08-03T22:59:11Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [March 11, 2018, 1:28am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/82 "2018-03-11T01:28:46Z")

</div>

**5.1.0** March 10, 2018

* * *

## Changes

- Bump characters\_character\_orders to v2.
- Bump corporation\_corporation\_orders to v2.
- Make it more clear to **NOT** include the curly braces in your callback url in the dev app.

---

<div class="post-metadata">

**Author:** ![Logistics](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/logistics/32/40811_2.png) [@Logistics](https://forums.eveonline.com/u/Logistics)\
**Post date:** [March 14, 2018, 11:05am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/83 "2018-03-14T11:05:59Z")

</div>

I am very new and learning Google sheets and API stuff, and I would very much appreciate some help.

Is it possible to limit the request of, =characters\_character\_assets and/or =corporations\_corporation\_assets, to a station/citadel or at least a system?

Or very least any way that I have probably missed by other means?

Thank you very much in advance for the assistance!

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [March 14, 2018, 3:46pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/84 "2018-03-14T15:46:33Z")

</div>

@Logistics

Short answer: no.

Longer answer: Not by default but doable with some custom code/spreadsheet magic. You can either do the parsing in the spreadsheet AFTER calling the function or when parsing the response from ESI in GESI.gs.

What you will have to do is keep a list of allowable structures/station/system IDs or whatever. Then look at the `location_type` and `location_flag` columns. If `location_type` is station then you can just lookup that station in your static list or using `=universe_stations_station(station_id)` function and see if it is one of the ones you want to keep. If the `location_type` is `other`, it is probably either a structure or container of some sort. if `location_flag` is `Hanger` it is an item in your item hanger in a structure, if it is `AutoFit` it is in a container. If it is in a container you have to lookup the `location_id` in the `item_id` column, then lookup that items location\_id to get where the container is.

I would lookup either the `=FILTER` or `=QUERY` google sheets commands.

What also works nice is if you highlight the columns that the data is in, then go to Data -\> create a filter. From there you can filter out data, i.e. where `location_flag` IS NOT Hanger/Autofit, so you filter out items that are part of a ship to reduce the total number of rows you have to parse.

Specially how to do this I do not know off the top of my head, would have to mess with it more but this should give you a good start.

---

<div class="post-metadata">

**Author:** ![Logistics](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/logistics/32/40811_2.png) [@Logistics](https://forums.eveonline.com/u/Logistics)\
**Post date:** [March 14, 2018, 10:34pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/85 "2018-03-14T22:34:24Z")

</div>

@Blacksmoke16

Thank you! I will take a look at this once I am home. My goal is to limit the number of calls through the API because it seems to have issues with the very large number of items in assets. I figured if I limited it to the system/station I am actually wanting the data from it would prevent the failures in pulling all data.

Pulling corp hanger data wasn’t getting all assets and I am missing the information I am looking for.

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [March 15, 2018, 12:19am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/86 "2018-03-15T00:19:09Z")

</div>

Np.

Be sure to use `-1` page param to fetch all pages. The missing data might be on another page as by default GESI only returns page 1.

---

<div class="post-metadata">

**Author:** ![Logistics](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/logistics/32/40811_2.png) [@Logistics](https://forums.eveonline.com/u/Logistics)\
**Post date:** [March 15, 2018, 5:32am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/87 "2018-03-15T05:32:52Z")

</div>

Ah, that was my problem. I believe it is pulling all data now. Thanks! Again…I am learning this as I go. lol

---

<div class="post-metadata">

**Author:** ![Donal\_Childe](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/donal_childe/32/465784_2.png) [@Donal\_Childe](https://forums.eveonline.com/u/Donal_Childe)\
**Post date:** [March 26, 2018, 2:42pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/88 "2018-03-26T14:42:30Z")

</div>

Thanks for looking into that, and for providing a useful example of using fetchall.

---

<div class="post-metadata">

**Author:** ![Grayclay](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/grayclay/32/193817_2.png) [@Grayclay](https://forums.eveonline.com/u/Grayclay)\
**Post date:** [March 26, 2018, 9:49pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/89 "2018-03-26T21:49:51Z")

</div>

Google sheets gives me “Internal error executing the custom function.” when trying to use -1 with markets\_structures\_structure

edit: After updating my scripts, I’m getting “ESI response error: No reply within 10 seconds (line 203).”

Maybe trying to pull every order for one of the most active citadels in the game isn’t going to work?

=query(markets\_structures\_structure(citadel\_id,-1),“SELECT \* WHERE Col2 = 34 OR Col2 = 35 OR Col2 = 36 OR Col2 = 37 OR Col2 = 38 OR Col2 = 39 OR Col2 = 40”)

my jank solution is

=query({markets\_structures\_structure(citadel\_id,1);markets\_structures\_structure(citadel\_id,2);markets\_structures\_structure(citadel\_id,3)},“SELECT \* WHERE Col2 = 34 OR Col2 = 35 OR Col2 = 36 OR Col2 = 37 OR Col2 = 38 OR Col2 = 39 OR Col2 = 40”)

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [March 26, 2018, 10:23pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/90 "2018-03-26T22:23:41Z")

</div>

`No reply within 10 seconds` is an ESI error meaning the request couldn’t reach the monolith or something.

`Internal error executing the custom function.` sounds like Google doesnt like what you are trying to do with your functions there but i can assume there is a better way 😛

Is possible that it might just be a lot of data and takes some time to process. Am not super sure without looking into it more.

---

<div class="post-metadata">

**Author:** ![Grayclay](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/grayclay/32/193817_2.png) [@Grayclay](https://forums.eveonline.com/u/Grayclay)\
**Post date:** [March 26, 2018, 10:26pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/91 "2018-03-26T22:26:04Z")

</div>

The Internal Error is specific to using -1 as a page, which you mentioned above is a Fetch\_All option.

Is that only for specific functions?

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [March 26, 2018, 10:28pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/92 "2018-03-26T22:28:31Z")

</div>

Can you message me on discord and can see if we can figure this out?

EDIT: Google Sheets/GESI just can’t handle super large amounts of data in one call. I will have to look into it, but no ETA.

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [April 5, 2018, 12:11pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/94 "2018-04-05T12:11:44Z")

</div>

**5.2.0** April 5, 2018

* * *

## Changes

- **REMOVAL** GET /legacy/corporations/{corporation\_id}/assets/ (v1)
- **PROMOTION** GET /latest/corporations/{corporation\_id}/assets/ (v3)
- **PROMOTION** GET /latest/characters/{character\_id}/notifications/ (v2)
- **PROMOTION** GET /latest/corporations/{corporation\_id}/blueprints/ (v2)
- **PROMOTION** GET /latest/corporations/{corporation\_id}/containers/logs/ (v2)

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [April 6, 2018, 3:32am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/95 "2018-04-06T03:32:58Z")

</div>

**5.2.1** April 6, 2018

* * *

## Bug Fixes

- Fix endpoints.gs syntax error

---

<div class="post-metadata">

**Author:** ![BornToRiseHell](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/borntorisehell/32/65715_2.png) [@BornToRiseHell](https://forums.eveonline.com/u/BornToRiseHell)\
**Post date:** [April 10, 2018, 8:35am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/96 "2018-04-10T08:35:37Z")

</div>

Hey. I have been using your script for quite some time for just a single character. Now that ain’t enough for me and I need to add a ■■■■ ton of characters in the future. My problem is though, with the script changing because of ESI changes blah blah, I can’t seem to find an option for multiple characters. Trying to add chars to "MAIN\_CHARACTER = " Doesn’t work past 1. I can’t seem to find anywhere to write more chars. I’ve also tried to just authing more chars and simply writing their name in a command like: =Characters\_Character\_Industry\_Jobs(False, NAME, True)  
I tried a lot but I’m lost.  
This is all with the newest release of you script version 5.2.1

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [April 10, 2018, 3:01pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/97 "2018-04-10T15:01:13Z")

</div>

@BornToRiseHell

> [@Google Sheets - Multiple Mining Ledger Imports with ESI](https://forums.eveonline.com/t/google-sheets-multiple-mining-ledger-imports-with-esi/68747/2):
>
> Totally doable and super easy, you’re overthinking it slight_smile If you repeat the auth process, i.e. how you added your first character, but this time select a different character, it will also authorize that character. You then will be able to specify which character should be used for a function (which defaults to whatever character you set your MAIN\_CHARACTER variable to), by doing like characters\_character\_mining("Blacksmoke16"). If you need to add another character that is on a diff…

Read my post here.

---

<div class="post-metadata">

**Author:** ![Genevieve\_Mitsuda](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/genevieve_mitsuda/32/106366_2.png) [@Genevieve\_Mitsuda](https://forums.eveonline.com/u/Genevieve_Mitsuda)\
**Post date:** [April 10, 2018, 5:06pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/98 "2018-04-10T17:06:41Z")

</div>

I’m having a problem with markets\_region\_orders. I put buy, sell, and all in for order\_type and it errors " is not valid. ‘order\_type’ is required.

My full query is =markets\_region\_orders(all, 10000002, 40)

I’m super new to esi so I apologize if it’s malformed but I used the super handy pop-up guide as I was typing it.

---

<div class="post-metadata">

**Author:** ![Genevieve\_Mitsuda](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/genevieve_mitsuda/32/106366_2.png) [@Genevieve\_Mitsuda](https://forums.eveonline.com/u/Genevieve_Mitsuda)\
**Post date:** [April 10, 2018, 5:23pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/99 "2018-04-10T17:23:52Z")

</div>

Figured it out! The string had to be in quotes. Thanks again for all the hard work on this!!

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [April 10, 2018, 6:54pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/100 "2018-04-10T18:54:38Z")

</div>

No problem. For future reference, use the example function when previewing a function (the little window that tells you what each param is etc) `markets_region_orders(string, integer, integer, integer, boolean)`. Notice how each param has a type.

You can then reference [https://github.com/Blacksmoke16/GESI#parameter-datatype-samples](https://github.com/Blacksmoke16/GESI#parameter-datatype-samples) to see how to input each type.

---

<div class="post-metadata">

**Author:** ![BornToRiseHell](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/borntorisehell/32/65715_2.png) [@BornToRiseHell](https://forums.eveonline.com/u/BornToRiseHell)\
**Post date:** [April 11, 2018, 7:04am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/101 "2018-04-11T07:04:24Z")

</div>

That’s what I’ve been trying for a while now and even before reading that post very thoroughly. It’s doesn’t work and it keeps giving me the error= Error  
TypeError: Cannot read property “1.0” from undefined. (line 219).  
It works if I put nothing in the () but if I fx. use a function with my main char like  
=characters\_character\_industry\_jobs(“fireeight”)  
or  
=characters\_character\_industry\_jobs(Fireeight)  
Then it will not work. The function only works if it’s empty

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/blacksmoke16/32/376589_2.png) [@Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)\
**Post date:** [April 11, 2018, 2:52pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/102 "2018-04-11T14:52:13Z")

</div>

Few things to check.

For one thing, the name isn’t the first param in `characters_character_industry_jobs` If you look at the function in the functions.gs file, or as you are typing in the params you would notice that it is the second.

> <https://github.com/Blacksmoke16/GESI/blob/master/function.gs#L1007>

SO the function should be like =`characters_character_industry_jobs(1, "Fireeight")`. It works when it is empty because the `MAIN_CHARACTER` variable takes over. Make sure the name you are putting in is the exact name as the character you authed, can look in the `Auth Data` sheet for a list of characters that have been authed.

If you still can’t get it to work, message me on discord and we can get it sorted.

[Previous page](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406.md?page=4)

[Next page](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406.md?page=6)
