{"blog_title":"kome\u306e\u5099\u5fd8\u9332","width":"100%","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/kaz02251994/","version":"1.0","published":"2018-11-02 16:30:00","provider_name":"Hatena Blog","image_url":null,"description":"Cloudfunctions\u3067Google SpreadSheet API\u3092\u52d5\u304b\u3057\u305f\u3044 \u624b\u9806\u7de8 1. \u30b3\u30fc\u30c9\u3092pull\u3059\u308b 2. API\u8a2d\u5b9a 3. cloudfunctions\u306e\u30b3\u30f3\u30d5\u30a3\u30b0\u8a2d\u5b9a 4. \u30c7\u30d7\u30ed\u30a4 5. \u8a8d\u8a3c 6. \u9023\u643a\u3067\u304d\u308b\uff01 \u89e3\u8aac\u7de8 OAuth2 \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u6982\u8aac ./firebase.json ./funcitons/index.js \u53c2\u8003\u306b\u3057\u305f\u30b5\u30a4\u30c8 Cloudfunctions\u3067Google SpreadSheet API\u3092\u52d5\u304b\u3057\u305f\u3044 \u57fa\u672c\u7684\u306b\u306f\u4ee5\u4e0b\u306eGoogle \u516c\u5f0f\u30b3\u30fc\u30c9\u3092\u52d5\u304b\u3059\u307e\u3067\u3092\u89e3\u8aac github.com \u81ea\u529b\u3067\u3084\u308b\u306b\u306f\u3001spreadsheet\u306e\u8a8d\u8a3c\u5468\u308a\u304c\u7d50\u69cb\u2026","height":"190","title":"firebase cloudfunctions\u3067spreadsheet\u9023\u643a","categories":["firebase"],"type":"rich","blog_url":"https://www.komee.org/","url":"https://www.komee.org/entry/2018/11/02/163000","author_name":"kaz02251994","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.komee.org%2Fentry%2F2018%2F11%2F02%2F163000\" title=\"firebase cloudfunctions\u3067spreadsheet\u9023\u643a - kome\u306e\u5099\u5fd8\u9332\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}