我工作的许多合作伙伴主要使用电子表格,而不是python,scala,java,SQL等。这些人都是非技术人员,但他们需要数据,我的工作就是把它掌握在手中。阅读谷歌的实验室,their example notebook on io,我发现了gspread和明显易于认证:
from google.colab import auth
auth.authenticate_user()
import gspread
from oauth2client.client import GoogleCredentials
gc = gspread.authorize(GoogleCredentials.get_application_default())
我们使用Jupyter的本地部署和几个自定义来简化对Presto,Hive,Spark等的访问,所以我尝试在我们的环境中安装colab无济于事(它不是开源的)。我发现的下一个最佳方法是using oauth2,但这似乎需要GCP帐户才能访问Google Developer's Console。对于可归结为使用远程服务进行身份验证的内容,这似乎过于复杂。
那么,小组记住,你如何在jupyter笔记本中最容易用gspread进行身份验证?
答案 0 :(得分:2)
我可以在Colab中解释使这项工作的成分:
authenticate_user
的调用会调用gcloud auth login --enable-gdrive-access
(other args)。GOOGLE_APPLICATION_CREDENTIALS
环境变量设置为这些凭据的导出副本。oauth2client
找到它们(如上面的示例所示)。与往常一样,您应该注意放置凭证的位置;在Colab的情况下,我们有一个相当受控制的系统,并且可以使用这种设置(尽管如此,它可能在将来发生变化)。