无法使用 stream-python 创建用户 – 502 错误
Unable to create users with stream-python – 502 error
在为现有网站尝试 getstream.io chat 功能时,我发现了一些文档中不清楚的地方。
要启动一个新的 "private" 频道,成员数量有限,可以调用 client.channel().create() with the list of members ids。
一旦流之前看到用户 ID,就可以了。
编辑:
尝试使用成员 ID 创建频道时遇到的错误:
GetOrCreateChannel failed with error: "The following users are
specified in channel.members but don't exist:
[2924820248]. Please create the user objects
before setting up the channel.
由于在引入getstream之前网站(和用户)已经存在,我想用getstream注册所有现有用户。
这似乎是通过 user API endpoint, or via the python sdk users.add 支持的。
更新:显然即使调用 users.add 也不能解决问题:/
其余的在这一点上几乎无关紧要...但是留在这里留给后代...
不幸的是。调用 users.add 似乎是 return 502,无论我传递什么作为参数。授权(API_KEY和API_KEY_SECRET)似乎是正确的,好像我remove/change他们一样,响应是权限被拒绝。
我尝试传递不同的位置(美国东部、欧洲西部、都柏林或 none),并直接调用这些 API 端点,但无济于事。
我也尝试过使用或不使用数据参数,但似乎没有任何区别。
如何使用这个users.add?
Python代码:
import stream
client = stream.connect(api_key=STREAM_API_KEY, api_secret=STREAM_API_KEY_SECRET, location='us-east')
client.users.add('my-user-id', {'name': 'Bob'})
卷曲:
curl -H "Content-Type: application/json" -H "Authorization: AUTH_STRING" -H "stream-auth-type: jwt" -d '{"id": "my-user-id", "data": {"name": "Bob"}}' "https://api.stream-io-api.com/api/v1.0/user/?api_key=API_KEY"
回复:
HTTP/2 502
date: Sun, 03 Nov 2019 14:51:56 GMT
content-length: 0
server: nginx
access-control-allow-origin: *
x-ratelimit-limit: 1000
x-ratelimit-remaining: 998
x-ratelimit-reset: 1572792720
编辑:流本身似乎肯定有问题,因为在他们的仪表板中创建另一个应用程序并尝试使用与该新应用程序关联的不同密钥似乎工作正常并且 return 201 而不是 502 (没有改变代码中的任何其他内容。
有问题的应用程序的 region/location 在仪表板中显示为 "dublin",并且该应用程序创建为 "development" 应用程序,但我在之后将其更改为产品应用程序我发现工作的是作为产品创建的。但仍然没有运气。无法弄清楚该应用程序有什么问题 config/settings。在这一点上,如果不直接请求他们的支持,我不能做更多的事情
进一步更新:
看起来我在 eu-west 创建的所有应用程序都是 returning 502,而所有 us-east 都运行良好。等待流回到我身边
最新更新:
终于得到他们支持的回复,说他们的都柏林设置有问题,现在已经解决了。
显然,添加用户(用于聊天)应该通过 setUser
(客户端)或 updateUsers(服务器端)完成
https://getstream.io/chat/docs/python/#update_users
我从文档中遗漏的重要信息:
If you're looking to sync your userbase you'll want to use the
updateUser(s) method instead
所以我猜供稿中的用户 != 聊天中的用户
在为现有网站尝试 getstream.io chat 功能时,我发现了一些文档中不清楚的地方。
要启动一个新的 "private" 频道,成员数量有限,可以调用 client.channel().create() with the list of members ids。
一旦流之前看到用户 ID,就可以了。 编辑: 尝试使用成员 ID 创建频道时遇到的错误:
GetOrCreateChannel failed with error: "The following users are specified in channel.members but don't exist: [2924820248]. Please create the user objects before setting up the channel.
由于在引入getstream之前网站(和用户)已经存在,我想用getstream注册所有现有用户。
这似乎是通过 user API endpoint, or via the python sdk users.add 支持的。
更新:显然即使调用 users.add 也不能解决问题:/
其余的在这一点上几乎无关紧要...但是留在这里留给后代...
不幸的是。调用 users.add 似乎是 return 502,无论我传递什么作为参数。授权(API_KEY和API_KEY_SECRET)似乎是正确的,好像我remove/change他们一样,响应是权限被拒绝。
我尝试传递不同的位置(美国东部、欧洲西部、都柏林或 none),并直接调用这些 API 端点,但无济于事。
我也尝试过使用或不使用数据参数,但似乎没有任何区别。
如何使用这个users.add?
Python代码:
import stream
client = stream.connect(api_key=STREAM_API_KEY, api_secret=STREAM_API_KEY_SECRET, location='us-east')
client.users.add('my-user-id', {'name': 'Bob'})
卷曲:
curl -H "Content-Type: application/json" -H "Authorization: AUTH_STRING" -H "stream-auth-type: jwt" -d '{"id": "my-user-id", "data": {"name": "Bob"}}' "https://api.stream-io-api.com/api/v1.0/user/?api_key=API_KEY"
回复:
HTTP/2 502
date: Sun, 03 Nov 2019 14:51:56 GMT
content-length: 0
server: nginx
access-control-allow-origin: *
x-ratelimit-limit: 1000
x-ratelimit-remaining: 998
x-ratelimit-reset: 1572792720
编辑:流本身似乎肯定有问题,因为在他们的仪表板中创建另一个应用程序并尝试使用与该新应用程序关联的不同密钥似乎工作正常并且 return 201 而不是 502 (没有改变代码中的任何其他内容。
有问题的应用程序的 region/location 在仪表板中显示为 "dublin",并且该应用程序创建为 "development" 应用程序,但我在之后将其更改为产品应用程序我发现工作的是作为产品创建的。但仍然没有运气。无法弄清楚该应用程序有什么问题 config/settings。在这一点上,如果不直接请求他们的支持,我不能做更多的事情
进一步更新: 看起来我在 eu-west 创建的所有应用程序都是 returning 502,而所有 us-east 都运行良好。等待流回到我身边
最新更新: 终于得到他们支持的回复,说他们的都柏林设置有问题,现在已经解决了。
显然,添加用户(用于聊天)应该通过 setUser
(客户端)或 updateUsers(服务器端)完成
https://getstream.io/chat/docs/python/#update_users
我从文档中遗漏的重要信息:
If you're looking to sync your userbase you'll want to use the updateUser(s) method instead
所以我猜供稿中的用户 != 聊天中的用户