Лучший способ создать частный и публичный канал - PullRequest
0 голосов
/ 28 мая 2018

Я новичок в getStream.io, и я хочу, чтобы каждый пользователь моего приложения получал личный канал, где он будет находить свои действия, и он получает общедоступный канал, где он будет находить свои действия и действия своего друга.

Для этого я создал один фид (частный) для каждого пользователя в группе user, затем добавил действия в его фид.

После этого для каждого пользователя я создал фид (общедоступный).1) в группе timeline, и этот канал следует за пользователем, связанным, чтобы видеть его действия в общедоступном канале (например, Facebook, Instagram, Twitter ...).

Я много исследовал сообщество, чтобы узнать,если это лучший способ сделать приватную и общедоступную ленту для каждого пользователя, но я читал, было бы плохо следить за собой в его хронологии.Я поместил свой код здесь: `

# Initialize the client with your api key and secret
client = stream.connect('YOUR_API_KEY', 'API_KEY_SECRET')
# For the feed group 'user' and user id 'user1' get the feed
user1_feed = client.feed('user', 'user1') #User1's feed
# Add the activity to the feed
user1_feed.add_activity({'actor': 'user1', 'verb': 'tweet', 'object': "user1a1", 'tweet': 'Hello world It s me user1', 'likes': 0})  #user1a1
user1_feed.add_activity({'actor': 'user1', 'verb': 'watch', 'object': "user1a2", 'youtube_id': 'W9GvhL53nyw', 'likes': 0})        #user1a2

# The same with 'user2'
user2_feed = client.feed('user', 'user2') #User1's feed
user2_feed.add_activity({'actor': 'user2', 'verb': 'tweet', 'object': "user2a1", 'tweet': 'Hello world It s me user2', 'likes': 0})  #user2a1
user2_feed.add_activity({'actor': 'user2', 'verb': 'watch', 'object': "user2a2", 'youtube_id': 'PoxLSUh7pYw', 'likes': 0})        #user2a2

user1_timeline = client.feed('timeline', 'user1') #User1's timeline
user2_timeline = client.feed('timeline', 'user2') #User2's timeline

user1_timeline.follow('user','user1') #user1_timeline follows user1
user1_timeline.follow('user','user2') #user1_timeline follows user2

user2_timeline.follow('user','user2') #user2_timeline follows user2
user2_timeline.follow('user','user1') #user2_timeline follows user1

`

И я не хочу создавать дубликаты, если я понимаю Документацию, временная шкала группы просто отображается.

Так что я хотел бы знать, был ли мой метод лучшим способом создания приватной и общедоступной ленты.

Спасибо!Пьер.

1 Ответ

0 голосов
/ 28 мая 2018

Ваше понимание точно, образец выглядит правильно и будет вести себя так, как вы описали.

Фид user1 будет содержать только «личные» действия пользователя 1. Ваше приложение может ограничивать доступтак, что только Пользователь 1 может, если ваши функции и UX требуют этого.Действия не являются «частными», поскольку они могут быть скопированы в фиды user_timeline других пользователей при наличии следующих отношений.

Фид user1_timeline объединит действия, добавленные пользователем 1 в своиuser фид (из-за отношений подписки, созданных в вашем образце), а также действия из фидов других пользователей, которые были отслежены.

...