# \[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:** 10

<div class="post-metadata">

**Author:** ![Ken\_Bekle](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/ken_bekle/32/131128_2.png) [@Ken\_Bekle](https://forums.eveonline.com/u/Ken_Bekle)\
**Post date:** [April 18, 2019, 6:13pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/187 "2019-04-18T18:13:02Z")

</div>

Blacksmoke,

I’ve been using the function you coded for me for a NPC and it’s worked great. I now want to use it for a specific structure. Here’s what I’ve got…identical to your function except for the endpoint…but it’s returning only a single value. Must be more to this than meets the eye. If you got a couple minutes, great. If not, I’ll keep poking around until I get it!

function typePriceDataStructure(location\_id) {  
var data = GESI.markets\_structures\_structure(location\_id);  
var minSell = Number.POSITIVE\_INFINITY;  
var maxBuy = 0;  
var result = ;

data.forEach(function(order) {  
if (order[3] === location\_id) {  
if (order[1]) {  
if(order[6] \> maxBuy) {  
maxBuy = order[6];  
}  
} else {  
if(order[6] \< minSell) {  
minSell = order[6];  
}  
}  
}  
});  
return [[minSell, maxBuy]];

---

<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 20, 2019, 1:19pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/188 "2019-04-20T13:19:39Z")

</div>

I’m not sure what you’re trying to do here? As it stands this method is just iterating over the first page of orders within the provided structure. Since this endpoint is not limited to a specific type, this function isn’t really helpful. You would want to also pass in a `type_id` and check that `order[8] === type_id`, so that you limit the minSell and maxBuy to that type. You should also use `-1` as the page param to make sure you are getting all pages of orders.

---

<div class="post-metadata">

**Author:** ![Aynder](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/aynder/32/133732_2.png) [@Aynder](https://forums.eveonline.com/u/Aynder)\
**Post date:** [May 8, 2019, 2:55pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/189 "2019-05-08T14:55:49Z")

</div>

I’m kind of lost here. There is a guide posted to the dev blogs just a few weeks ago with a notice that this is all already out of date. A few replies above you link to something you call ‘examples’ but this is just a changelog with no examples that I can find. Can someone please link current examples to get us started. I want to just execute a script that imports all my wallet transactions for a period of time.

---

<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:** [May 8, 2019, 3:58pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/190 "2019-05-08T15:58:15Z")

</div>

@Aynder Just follow the [setup guide](https://github.com/Blacksmoke16/GESI#setup), then type `=characters_character_wallet_transactions()` in a cell.

Feel free to join the discord server if you need more help.

Also just to clarify. That blog post was made over a year ago for when GESI was not an add-on. The update saying it is now out of date is more so related to the first 60% of it that dealt with installing it. As back then you had to create a dev application, copy files over etc versus now where you just install the add-on. The functionality towards the bottom is the same, however the specific examples prob wont work as the order the response columns and function parameters have changed since it was made.

---

<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:** [June 26, 2019, 2:32am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/191 "2019-06-26T02:32:27Z")

</div>

I updated the install instructions in the readme as it should be installed via sheets not the marketplace (unless you want to enable it for everyone in your organization i guess).

In sheets: Go to `Add-Ons` =\> `Get add-ons` =\> Search for `GESI`, and click the `+ Free`.

---

<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:** [September 12, 2019, 2:08am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/192 "2019-09-12T02:08:23Z")

</div>

Bump because I don’t want the thread to get locked.

---

<div class="post-metadata">

**Author:** ![Rtg\_Quack](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/rtg_quack/32/259589_2.png) [@Rtg\_Quack](https://forums.eveonline.com/u/Rtg_Quack)\
**Post date:** [September 26, 2019, 8:06pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/193 "2019-09-26T20:06:23Z")

</div>

Maybe a blonde question, how to log out from a sheet?

I would like to prepare a sheet, test is with my account but force any furhter user to login with EVE SSO to make GESI fetch the data according to the individual Eve user.

---

<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:** [September 26, 2019, 8:18pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/194 "2019-09-26T20:18:46Z")

</div>

Would want to delete the row for your character(s) from the `Auth Data` sheet that is hidden by default.

I’m assuming you’re planning on having each user copy the sheet, so they each have their own copy?

---

<div class="post-metadata">

**Author:** ![Rtg\_Quack](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/rtg_quack/32/259589_2.png) [@Rtg\_Quack](https://forums.eveonline.com/u/Rtg_Quack)\
**Post date:** [September 26, 2019, 8:28pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/195 "2019-09-26T20:28:31Z")

</div>

My idea was to prepare a sheet and to let some people use it on their own. Any user should use the Eve-SSO login first in order to fetch his individual data.  
It’s not my intention to let them share data.  
But I would prefer to have only one sheet I maintain while the users use it as a kind of service.  
Hope this makes sense to you.

---

<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:** [September 26, 2019, 8:33pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/196 "2019-09-26T20:33:12Z")

</div>

Right yea, you maintain a master sheet that is read only. People that want to use it would go to like `file => make a copy`, then do the SSO flow on their personal copy. While all the functions and logic you had on the master would be used against their data.

So assuming you delete your `Auth Data` sheet, it would be recreated/populated by each user themself.

---

<div class="post-metadata">

**Author:** ![Ahuraa](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/ahuraa/32/245386_2.png) [@Ahuraa](https://forums.eveonline.com/u/Ahuraa)\
**Post date:** [October 20, 2019, 7:38am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/197 "2019-10-20T07:38:02Z")

</div>

Could some one help me to make one cell to automatically pull highest PLEX buy order price from jita 4-4.

I have installed the add on but don’t understand how the code works.

---

<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:** [October 20, 2019, 2:10pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/198 "2019-10-20T14:10:16Z")

</div>

You’d be better of using another aggregate API for that, such as [https://market.fuzzwork.co.uk/api/](https://market.fuzzwork.co.uk/api/) or [https://chrome.google.com/webstore/detail/evepraisal-tools/lklblimoabndhjineeemkldkjllinmlj](https://chrome.google.com/webstore/detail/evepraisal-tools/lklblimoabndhjineeemkldkjllinmlj).

In order to do this in GESI you would have to fetch all the market orders for PLEX within the forge, then manually filter that down.

---

<div class="post-metadata">

**Author:** ![Zoltan\_Irvam](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/zoltan_irvam/32/273872_2.png) [@Zoltan\_Irvam](https://forums.eveonline.com/u/Zoltan_Irvam)\
**Post date:** [October 30, 2019, 6:07am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/199 "2019-10-30T06:07:26Z")

</div>

Hi,

I’m trying to understand how to use the parseArray function. I am trying to get insurance data from insurance\_prices and get typeids in column B and data like this in column A

```
[{"cost":167973.45,"name":"Basic","payout":1679734.5},{"cost":335946.9,"name":"Standard","payout":2015681.4},{"cost":503920.35,"name":"Bronze","payout":2351628.3},{"cost":671893.8,"name":"Silver","payout":2687575.2},{"cost":839867.25,"name":"Gold","payout":3023522.1},{"cost":1007840.7,"name":"Platinum","payout":3359469}]

```

Would parseArray be the correct way to get individual numbers out of this and what would be a valid column\_name parameter for parseArray?

I have also tried the =parseArray(“characters\_character\_skills”,“skills”,A2) example but also didn’t get aything besides error messages.

TIA,

Zoltan

---

<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:** [October 30, 2019, 12:05pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/200 "2019-10-30T12:05:20Z")

</div>

`parseArray` would be the way to get the data out, but would have to be done for each type. The function would be like

`=parseArray("insurance_prices","levels",A2)` where the data is in cell `A2`.

---

<div class="post-metadata">

**Author:** ![Zoltan\_Irvam](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/zoltan_irvam/32/273872_2.png) [@Zoltan\_Irvam](https://forums.eveonline.com/u/Zoltan_Irvam)\
**Post date:** [October 30, 2019, 3:38pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/201 "2019-10-30T15:38:13Z")

</div>

Hi,

hm, =parseArray(“insurance\_prices”, “levels”, A2) also gives an error… any other ideas?

EDIT: I love google imitating every idiot idea M$ had with Excel - like changing the syntax in foreign language versions…  
I have to write =parseArray(“insurance\_prices”;“levels”;A2) - note the semicolon instead of comma…

Zoltan

---

<div class="post-metadata">

**Author:** ![Tau\_Hopper](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/tau_hopper/32/359920_2.png) [@Tau\_Hopper](https://forums.eveonline.com/u/Tau_Hopper)\
**Post date:** [December 27, 2019, 7:53am UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/202 "2019-12-27T07:53:18Z")

</div>

I don’t know if it is a new problem (i.e. I haven’t used GESI before), but I’m having trouble installing the add-on on a Google Sheet.

Namely, it doesn’t show up in the search results for the “Get add-ons” dialog; and if I directly click on the install button [on the marketplace](https://gsuite.google.com/marketplace/app/gesi/337869328721), I get a message which reads:

![](https://global.discourse-cdn.com/eveonline/original/3X/a/8/a882bbf32013830833f80eb036beadf05e01d3dd.jpeg)

Am I missing any steps, or shall I indeed wait until the add-on undergoes that verification process?

---

<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:** [December 27, 2019, 1:04pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/203 "2019-12-27T13:04:32Z")

</div>

I submitted GESI for verification a while ago, just waiting on Google to approve it. Unfortunately I’m also at the limit for an unverified app. Sorry but not much more I can do than wait 😕

![image](https://global.discourse-cdn.com/eveonline/original/3X/3/3/33b0d2393dd0ddeb8acf1e383fdbdbecfef92d25.png)

---

<div class="post-metadata">

**Author:** ![Tau\_Hopper](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/tau_hopper/32/359920_2.png) [@Tau\_Hopper](https://forums.eveonline.com/u/Tau_Hopper)\
**Post date:** [December 27, 2019, 1:28pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/204 "2019-12-27T13:28:21Z")

</div>

No problem - thank you very much for the prompt answer! 🙂

---

<div class="post-metadata">

**Author:** ![Estela\_Gatita-Nina](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/estela_gatita-nina/32/167438_2.png) [@Estela\_Gatita-Nina](https://forums.eveonline.com/u/Estela_Gatita-Nina)\
**Post date:** [January 1, 2020, 2:08pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/205 "2020-01-01T14:08:28Z")

</div>

Hello [Blacksmoke16](https://forums.eveonline.com/u/Blacksmoke16)  
Is there still a way to use GESI without the marketplace installation?  
The procedure lined out in the Dev blog doesn’t seem to work any more.  
[https://developers.eveonline.com/blog/article/using-esi-with-google-sheets](https://developers.eveonline.com/blog/article/using-esi-with-google-sheets)

Thanks for the help.

---

<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:** [January 1, 2020, 4:44pm UTC](https://forums.eveonline.com/t/10-0-0-version-52-gesi-google-sheets-esi-add-on-now-an-eve-online-partner/13406/206 "2020-01-01T16:44:14Z")

</div>

It would be doable but I don’t have a guide. Still waiting on Google to approve it.

[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=9)

[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=11)
