我試圖創建一個服務帳戶應用程序,以便我可以使用Python訪問Google Analytics API。 有兩件事讓我感到困惑。首先,當我使用下面的代碼:
使用服務帳戶的Google API訪問oauth2client.client.CryptoUnavailableError:沒有可用的加密庫
`from oauth2client.client import SignedJwtAssertionCredentials
client_email = "#####client_email#######.gserviceaccount.com"
with open("XXXXXX.p12") as f:
private_key = f.read()
credentials = SignedJwtAssertionCredentials(client_email, private_key,'https://www.googleapis.com/auth/sqlservice.admin')`
我收到以下錯誤:
`oauth2client.client.CryptoUnavailableError: No crypto library available`
做一個小小的研究,我發現,這可能與授予應用程序後做全域服務帳戶的權限。但是,當我登錄Google Developers Console時,找不到安全圖標或更多選項按鈕。任何幫助非常感謝你。
當'p12'文件轉換成'pem'作爲@davidtzau介紹你需要輸入Google在'notasecret'的'p12'文件上設置的默認密碼。當「pem」內容輸出到新的「pem」文件時,它不再受密碼保護。儘管如此,oauth2client模塊在不使用密碼的情況下優雅地接受「pem」內容,但默認情況下會假設「notasecret」的密碼短語:https://google-api-python-client.googlecode.com/hg/docs/epy /oauth2client.client.SignedJwtAssertionCredentials-class.html – 2014-12-23 06:43:47