# Google Sheets

**URL:** <https://discourse.julialang.org/t/google-sheets/3602>\
**Category:** General Usage\
**Tags:** question\
**Created:** [May 8, 2017, 6:05pm UTC](https://discourse.julialang.org/t/google-sheets/3602 "2017-05-08T18:05:48Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Post date:** [May 8, 2017, 6:05pm UTC](https://discourse.julialang.org/t/google-sheets/3602/1 "2017-05-08T18:05:48Z")

</div>

I would like to modify Google spreadsheets using Julia. The [API](https://developers.google.com/sheets/api/) is well documented but, sadly, without examples using Julia.

I don’t have much experience with web-based API’s and would appreciate pointers on where to start. I am reasonably familiar with [JSON](https://github.com/JuliaIO/JSON.jl). Should my next step be to start digging into [Requests](https://github.com/JuliaWeb/Requests.jl)?

I took a look at [GoogleCharts](https://github.com/jverzani/GoogleCharts.jl) and decided that I would prefer not to work with [Mustache](https://github.com/jverzani/Mustache.jl) unless I need to. Similarly I looked at Jenny Bryan’s [googlesheets](https://github.com/jennybc/googlesheets) package for R and decided not to follow that design (forgive me, Jenny).

Am I missing prior art here? For example, authentication (OAuth?) or Google Drive integration?

---

<div class="post-metadata">

**Author:** ![dfdx](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dfdx/32/120_2.png) [@dfdx](https://discourse.julialang.org/u/dfdx)\
**Post date:** [May 8, 2017, 8:22pm UTC](https://discourse.julialang.org/t/google-sheets/3602/2 "2017-05-08T20:22:22Z")

</div>

> [@dmbates](#):
>
> I don’t have much experience with web-based API’s and would appreciate pointers on where to start. I am reasonably familiar with JSON. Should my next step be to start digging into Requests?

Working with REST API using Requests.jl should be pretty straightforward. Not sure what else to add here until you have more concrete questions.

---

<div class="post-metadata">

**Author:** ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Post date:** [May 8, 2017, 8:29pm UTC](https://discourse.julialang.org/t/google-sheets/3602/3 "2017-05-08T20:29:22Z")

</div>

Right now I am still struggling with authentication. All I have been able to produce to this point is

```julia
Response(403 Forbidden, 14 headers, 130 bytes in body)

```

The OAuth2 stuff seems a bit inscrutable.

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [May 8, 2017, 9:00pm UTC](https://discourse.julialang.org/t/google-sheets/3602/4 "2017-05-08T21:00:00Z")

</div>

I’m not terribly familiar with the web stack, but I do know that HTTP.jl is a superset of Requests and seems to be better maintained these days.

---

<div class="post-metadata">

**Author:** ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Post date:** [May 8, 2017, 9:07pm UTC](https://discourse.julialang.org/t/google-sheets/3602/5 "2017-05-08T21:07:14Z")

</div>

Thanks for the suggestion. HTTP.jl looks to be more convenient and full-featured than Requests.jl

---

<div class="post-metadata">

**Author:** ![titzi](https://avatars.discourse-cdn.com/v4/letter/t/958977/32.png) [@titzi](https://discourse.julialang.org/u/titzi)\
**Post date:** [July 7, 2017, 11:44am UTC](https://discourse.julialang.org/t/google-sheets/3602/6 "2017-07-07T11:44:44Z")

</div>

can you please post a minimal example how to modify google spreadsheets with julia?

---

<div class="post-metadata">

**Author:** ![fieldofnodes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fieldofnodes/32/15858_2.png) [@fieldofnodes](https://discourse.julialang.org/u/fieldofnodes)\
**Post date:** [June 27, 2021, 9:10pm UTC](https://discourse.julialang.org/t/google-sheets/3602/7 "2021-06-27T21:10:11Z")

</div>

Have you seen: [GitHub - chipkent/GoogleSheets.jl: Julia package for working with Google Sheets](https://github.com/chipkent/GoogleSheets.jl)?
