【问题标题】:How can I store my google sheet cred file inside my python code, I dont want to store file in my PC, i want to write cred inside my code?如何将我的 google sheet cred 文件存储在我的 python 代码中,我不想将文件存储在我的 PC 中,我想在我的代码中写入 cred?
【发布时间】:2021-01-01 08:47:52
【问题描述】:

导入 gspread 从 oauth2client.service_account 导入 ServiceAccountCredentials 范围 = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file" ,"https://www.googleapis.com/auth/drive"]

import requests
import datetime
import pandas as pd

def writedata():
    # Connect to Google Sheet
    credentials = ServiceAccountCredentials.from_json_keyfile_name('creds.json',scope)
    client = gspread.authorize(credentials)
    sheet = client.open("Min15Scan").sheet1
    symlist = sheet.col_values(1)
    print(symlist)

#creds 文件存储在我的 PC 中,但我想将 cred 数据存储在我的代码中

#Sample cred json data
{
  "type": "service_account",
  "project_id": "crafty-haiku-272664766",
  "private_key_id": "f1466f265175a46ee86da0badsasd2badsa33ba4sa51937b65d79c8a4606",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIasdBADANBgkqhkiG9w0BsdaAQEFAASCBKYwggSiAgEAAoIBAQC2iA/Eu54gVdER\nLyqF8+CpJuwDXbTWPbJB+6xKwyeMqOnDP/L+WMvEassdasd3FHaWmPMj/I50xCyZApIKz4I\nnaGasdmXd/sasdTPSNaKGriMVuMcLAYHxplcaaWX3M7uTcXbq6ozzXFDUwR7Ltl4TP4S71\nad9Qxs7GIK1K6kl55bV1+t4+nZMZ3u+PEGvIUohmpTPdSytdJhoZ6rbo5zEXk1Bc/x\n8oM7RVdv/aP6OgAhzKIgImFuNQaUBfDmAnXfyi88eE2dlkeunY9pXHcgnIkhEh5X\nH9l+lHGS2SFj0b51WBQ2kR/1U0RqLTYa4DD4W/buq+zSrTI8s5C2OK2/mDT1lXPJ\nJG/SbLyrAgMBAAECggEAENYHxYJcSVvXa7zZSlkeaBIpfP2X/PzccNHPmads5oljzrs\n5bAD1ncG3VkVcBnPQ7wkc2km8wIsOpzjQ2f6ulde6WZUIw9U5JDTsq01t+90xxTK\ndUxhpwhP8fPvq2BiiVOy79ZlLoOmLroOZ7kn4Yu28Iw05NFnvCgY493cuqy+n9Im\nTmWL4HJyLvHrhV9WCGy1uPALXI9sh07C0VSluRqOMv3AMzVemX8pH2KywMkgliQ1\ncTywU0pYto0U9WJBQHqWggdGoT76USingWvtFJ813s0TRiuhfgsoE7KXfrj3amDo\nM+nTPmZfbKLtbLqKBv3+vS++FqI7A/UC+CHjlzFauQKBgQDfy0lUSh3VwdRNI7Av\nlK/+nyUmiWz5pxqOTBPZ1QtX6Eqk4GPe9f5eN/vL/uRlZ/VP5JlFSxSc2odrjxow\neyuAeaI5QIBh4evasdasmToSrv2rmiOGZ5Bsef0VFWd34Qr1MuqCjg+UQTUx0c4Lcg7Zr\ny6lfx34B5HX9VJdx5ThmGSgyGQKBgQDQzKKoWbRhgMkbGwPh50IXij++93QUjESM\nwFcAIA3OWxX7HhbzI2wSgyq3Jm+kuxfMp0j66opq0c3FPBuIHMhSND7wHKT2JRNl\nW3qjFl6IDYOOONqDe2sFjwpJJz561AuQOLe76bDgzmngnbPABR+L+yWcFxZfzWhR\nHLTSR7nlYwKBgDglTj5hYd7RBCxeOcOWMBlXYACtFbQEonr0xz4tXu0tEB0RVr0H\nRkvpC7kAN9jhHgBvP6zMy10WzkbD3jQvkphm67YlYpAsF/zt0gcsvOsdiEwNmGgs\nUfq2MyQnykpHwCmF26AdZIMKv9gHC2s760BmUkyzPo7R/DTM5ztmMFlxAoGAW67P\naY7iJsIvDCjjnok2OzHoZckwfmlNHGTEjviEN21FjJucxixyovpXgk5tTW8dty5p\nXEwqdVckvIt1J2JassdaED9yDGlnpkW+cQbBWfFAxOBp+/q82O++wgaNah96kj7iWT0Co\nZOnrUfsxAIEe0Z0uSgAAdraoi26ddKhfOcpm9TMCgYBFIMSbn1U8MSizAXNpyvPE\n7JJj5qeNTN/Tpp4yB1wqrc94+try/8RY0adaI4LkpnOJUdKbRzMmDcaZ3LXGLv4BURL\n/Cd+AI1JnKTsCq9yrflRywCMrDXuZb0+8vzzV1asdas7o4TT+LwAxh2sadaEzPs7O2h6l7Ca/\nHEzasacgV5kfunTa12IVCu6pg==\n-----END PRIVATE KEY-----\n",
  "client_email": "googledrive@crafty-haiku-276606.iam.gserviceaccount.com",
  "client_id": "108588760741771314111",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/googledrive%40craddffty-haiku-276667676.iam.gserviceaccount.com"
}

【问题讨论】:

    标签: python gspread


    【解决方案1】:

    您可以尝试使用环境变量在代码中安全地使用凭据。 试试this

    【讨论】:

      【解决方案2】:

      将凭据直接存储在代码中通常是一种不好的做法。这背后有很多安全原因,我建议你研究一下。实际上,如果凭据发生更改,您真的要更新代码吗?

      无论如何,如果您决定确实要这样做,您可以将凭证数据存储为字符串或字典,然后使用适当的方法:

      【讨论】:

        猜你喜欢
        • 2015-01-27
        • 2023-03-19
        • 1970-01-01
        • 2014-04-18
        • 2021-09-27
        • 1970-01-01
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多