Если страница обновляется или кто-то снова ее удаляет с помощью кнопки «назад», данные будут переданы на сервер и, таким образом, будут вставлены дважды. Чтобы избежать этого, вам необходимо перенаправить пользователя на другую страницу или на ту же страницу, используя шаблон POST / REDIRECT / GET. Отправка HTTP-ответа 303 заставит браузер заменить эту страницу в своей истории и избежать повторной отправки опубликованных данных.
if (mysqli_query($connection, $register)) {
header('Location: index.php', true, 303);
exit;
}
Похоже, вы не установили pyopenssl. Установить через easy_install pyopenssl
.
Libraries oauth2client.client
if HAS_OPENSSL:
# PyOpenSSL is not a prerequisite for oauth2client, so if it is missing then
# don't create the SignedJwtAssertionCredentials or the verify_id_token()
# method.
class SignedJwtAssertionCredentials(AssertionCredentials):
....
Как сказал Александр Марграф, вам нужен PyOpenSSL для импорта SignedJwtAssertionCredentials
просто: pip install pyopenssl
ПОМНИТЕ: В Windows произойдет сбой, если у вас не установлены библиотеки OpenSSL Win32 http://slproweb.com/products/Win32OpenSSL.html (вам нужен полный пакет, а не облегченная версия). Также имейте в виду, что вам нужно добавить его к вашему пути var перед установкой pyopenssl
У меня была эта проблема сегодня, и мне пришлось откатиться с oauth2client версии 2.0 до версии 1.5.2 с:
pip install oauth2client==1.5.2
Сначала проверьте версию oauth2client
.
Если эта версия> = 2.0, используется ServiceAccountCredentials
вместо SignedJwtAssertionCredentials
.
Посмотрите на три ссылки:
исходный репозиторий был недавно обновлен, чтобы использовать новый код:
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
...
Я пытался создать локальную среду разработки, и ни одно из решений здесь не работало. Дополнительная часть в загадке для меня была:
$ pip install pycrypto
возможно в дополнение к любому или всем из:
$ pip install pyopenssl
$ pip install httplib2
$ pip install oauth2client
$ pip install ssl
GAE имеет пакет pycrypto
, доступный внутри (проверьте библиотеки, перечисленные в вашем app.yaml), чтобы что-то, нуждающееся в этом, могло работать на их машинах, но не на ваших - я думаю - извините, я еще не до конца понимаю, что и почему они делают жизнь настолько ужасной с библиотеками пока.
Проверьте версию модуля `oauth2client ', возможно, вы используете версию более 1.5.2, если это так, вы можете исправить эту проблему, понизив версию и переустановив 1.5.2 или' oauth2client.client.AccessTokenCredentials '. Ссылка на документацию https://oauth2client.readthedocs.io/en/latest/source/oauth2client.client.html
Можно попробовать это за oauth2client версию> = 2.0,
from oauth2client.service_account import ServiceAccountCredentials
ServiceAccountCredentials.from_p12_keyfile(
service_account_email=name@developer.gserviceaccount.com,
filename=KEY_PATH,
scopes='https://www.googleapis.com/auth/calendar')