GESI
Google Sheets™ ESI Add-on
AI Summary
GESI
Sheets add-on for EVE ESI API access.
Target Users
Beginner GAS users wanting EVE data in Sheets.
Problems Solved
Accessing EVE ESI API data in Sheets with auth simply.
Script ID
- In GAS Editor: Click "Libraries +" → Paste into "Script ID" field → Click "Look up"
- "GESI" will appear in the search results
- Select the latest version (highest number) from "Version" dropdown
- Click "Add"
Tags
Main Features
1
Easy Setup
Install add-on, authorize via EVE SSO, supports multiple chars.
2
ESI Functions
Functions map ESI endpoints for sheet use, common args like name.
3
Script Features
getClient reuse, invokeMultiple for multi-char fetches.
Examples
Main Functions
| Function | Description |
|---|---|
| characters_character_assets | Get character assets. |
| GESI.getClient | Get reusable ESI client. |
| GESI.invokeMultiple | Invoke function on multiple chars. |
Examples
Multi-char Industry Jobs
/**
* 複数キャラ産業ジョブ取得
* ・認証キャラ一覧取得: GESI.getAuthenticatedCharacterNames()
* ・複数呼び出し実行: GESI.invokeMultiple("characters_character_industry_jobs", ...)
* ・オプション引数: { include_completed: true }
*/
function getJobs() {
return GESI.invokeMultiple("characters_character_industry_jobs", GESI.getAuthenticatedCharacterNames(), { include_completed: true });
}Type Info Raw Data
/**
* タイプID34生データ取得
* ・クライアント作成: GESI.getClient()
* ・関数コンテキスト設定: .setFunction('universe_types_type')
* ・Raw実行: .executeRaw({ type_id: 34 })
*/
function getType34Raw() {
var client = GESI.getClient().setFunction('universe_types_type');
return client.executeRaw({ type_id: 34 });
}Batch Market History
/**
* 複数タイプ市場履歴バッチ
* ・クライアント設定: GESI.getClient().setFunction('markets_region_history')
* ・リクエスト構築: .map(client.buildRequest({ type_id: type_id, region_id: 10000002 }))
* ・一括フェッチ: UrlFetchApp.fetchAll(requests)
*/
function getHistoryBatch() {
var client = GESI.getClient().setFunction('markets_region_history');
var type_ids = [34, 35, 36];
var requests = type_ids.map(function(type_id) {
return client.buildRequest({ type_id: type_id, region_id: 10000002 });
});
var responses = UrlFetchApp.fetchAll(requests);
return responses;
}