Конечная точка GAE firebase: аутентификация пользователей TypeError: тип издателей не соответствует <type 'dict'>

Я следую этому руководству по аутентификации пользователей в GAE, конечные точки v2 в Python. Я использую их код точно (только вставка в мой идентификатор приложения). Выполнение кода локально через PyCharm, ему не нравится тип "эмитентов", желающих, чтобы тип dict: TypeError: эмитенты не соответствовал.

Это как-то связано с интеграцией IDE, которая еще не поддерживается? Что я пропускаю?

В полном объеме:

ERROR    2017-06-05 15:23:19,417 wsgi.py:263] 
Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "C:\Users(...)\web app\goal.py", line 103, in <module>
    issuers=[firebase_issuer])
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\protorpc-1.0\protorpc\util.py", line 173, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\(...)\web app\lib\endpoints\api_config.py", line 976, in api
    api_key_required=api_key_required, base_path=base_path)
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\protorpc-1.0\protorpc\util.py", line 173, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\(...)\web app\lib\endpoints\api_config.py", line 469, in __init__
    base_path=base_path)
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\protorpc-1.0\protorpc\util.py", line 173, in positional_wrapper
    return wrapped(*args, **kwargs)
  File "C:\Users\(...)\web app\lib\endpoints\api_config.py", line 550, in __init__
    _CheckType(issuers, dict, 'issuers')
  File "C:\Users\(...)\web app\lib\endpoints\api_config.py", line 195, in _CheckType
    raise TypeError('%s type doesn\'t match %s.' % (name, check_type))
TypeError: issuers type doesn't match <type 'dict'>.

1 ответ

Решение

Извиняюсь за неправильную документацию. Вам нужно передать диктат. Так что постарайтесь issuers={'firebase': firebase_issuer} вместо.