Как использовать ключ хранилища данных в качестве идентификатора клиента Channel API?
Я делаю следующее:
user = User()
...
user.put()
client_id = user.key() # value like agpkZXZ-Y3Njb3JlcgoLEgRVc2VyGAkM
token = channel.create_channel(client_id)
и я получаю InvalidChannelClientIdError
,
1 ответ
Решение
client_id
это Key
, create_channel(..)
ожидает строку.
Вот что говорят доктора InvalidChannelClientIdError
:
The specified Client ID is malformed. Client IDs must be UTF-8 or ASCII strings
and should be less than 64 characters.
Вы могли бы потенциально использовать key.name()
если ваш идентификатор пользователя сгенерирован вами и достаточно уникален. Если идентификатор пользователя генерируется Datastore, то это короткое целое число, например 1001, 2001 и т. Д., И оно не является достаточно уникальным.