如何在python代码中存储我的google sheet cred文件,我不想在PC中存储文件,我想在代码中编写cred?

2024-05-29 05:15:40 发布

您现在位置:Python中文网/ 问答频道 /正文

进口gspread 从oauth2client.service\u帐户导入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文件存储在我的电脑中,但我想在代码中存储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"
}

Tags: httpsimportcomclientauthidjsonwww
2条回答

直接在代码中存储凭据通常是不好的做法。这背后有很多安全原因,我建议您进行研究。实际上,如果凭据发生更改,是否确实要更新代码

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

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

相关问题 更多 >

    热门问题