【问题标题】:How to use datastore key as Channel API client id?如何使用数据存储密钥作为 Channel API 客户端 ID?
【发布时间】:2012-02-26 19:10:11
【问题描述】:

我执行以下操作:

user = User()
...
user.put()
client_id = user.key() # value like agpkZXZ-Y3Njb3JlcgoLEgRVc2VyGAkM

token = channel.create_channel(client_id)

我收到InvalidChannelClientIdError

【问题讨论】:

    标签: google-app-engine google-cloud-datastore channel-api


    【解决方案1】:

    client_idKeycreate_channel(..) 需要一个字符串。

    这里是what docs say 关于InvalidChannelClientIdError

    The specified Client ID is malformed. Client IDs must be UTF-8 or ASCII strings 
    and should be less than 64 characters.
    

    如果您的用户 ID 由您生成并且足够独特,您可能会使用 key.name()。如果 User id 是 Datastore 生成的,那么它是一个短整数,如 1001、2001 等,并且不够唯一。

    【讨论】:

    • 谢谢。看起来我可以做到channel.create_channel(str(client_id))
    • 只要确保您提供的channel_id 足够独特。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2018-04-25
    • 2020-09-28
    • 2018-09-15
    • 2017-01-10
    • 2019-05-17
    相关资源
    最近更新 更多