Ответ 1
Эта ошибка, вероятно, означает, что вам нужен пакет python-openssl.
apt-get install python-openssl
Я пытаюсь создать приложение учетной записи службы, чтобы получить доступ к Google Analytics api с помощью Python.
Меня смешивают две вещи. Во-первых, когда я использую следующий код:
`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, я не могу найти значок безопасности или кнопку больше опций. Любая помощь очень благодарна вам.
Эта ошибка, вероятно, означает, что вам нужен пакет python-openssl.
apt-get install python-openssl
Это сделало трюк для меня (без преобразования в PEM):
pip install PyOpenSSL
pip freeze
говорит, что у меня версия 0.15.1
Даже если вы установили библиотеки pycrypto и python-ssl в свою среду разработки, вам нужно добавить эту библиотеку pycrypto
в файл приложения app.yaml
.
libraries:
- name: pycrypto
version: "latest"
Я недавно установил это, но решил пойти с PyCrypto 2.6.1, но вы также можете использовать python-openssl, как указано в предыдущий ответ.
Единственная проблема, с которой я столкнулся, и я не могу определить это, но ключ P12, созданный Консоль разработчика Google, не работал с моим API-интерфейсом службы поддержки (в Content API for Shopping), и мне пришлось переключите ключ в формат PEM, чтобы добиться успеха.
Моя настройка: (Win7, python 2.7.x, PyCrypto 2.6.1)
Ошибка при попытке использования ключа P12, но позже была разрешена при преобразовании его в PEM:
Ошибка 3: формат PKCS12 не поддерживается библиотекой PyCrypto. NotImplementedError: формат PKCS12 не поддерживается библиотекой PyCrypto. Попробуйте преобразовать в "PEM" (openssl pkcs12 -in xxxxx.p12 -nodes -nocerts) privatekey.pem) или используя PyOpenSSL, если исходный код является опцией.
Важно отметить, что не забудьте войти в Google Analytics и предоставить соответствующие разрешения для адреса электронной почты клиента, созданного во время создания учетной записи службы.
OSX 10.11 El Capitan больше не распространяет OpenSSL. Я смог установить cryptography
с помощью Homebrew и static build:
env CRYPTOGRAPHY_OSX_NO_LINK_FLAGS=1 LDFLAGS="$(brew --prefix openssl)/lib/libssl.a $(brew --prefix openssl)/lib/libcrypto.a" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography
Дополнительная информация