Plots2: ПРОБЛЕМА ПЛАНИРОВАНИЯ: Ответ через Twitter.

Созданный на 28 апр. 2018  ·  72Комментарии  ·  Источник: publiclab/plots2

Пожалуйста, опишите проблему (или идею)

Это вопрос планирования для ответа в твиттере: функция.

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

Подробнее 🔜 !

=> Интеграция с электронной почтой #2672 ( @namangupta01 )

feature in progress more-detail-please planning summer-of-code

Самый полезный комментарий

Как @jywarren мы должны объединить с ним систему открытого доступа?

Все 72 Комментарий

Прохладный! Ссылка на новый выпуск Naman тоже!

В субботу, 28 апреля 2018 г., 03:25 Сагарприт Чадха, [email protected]
написал:

Пожалуйста, опишите проблему (или идею)

Это вопрос планирования для ответа в твиттере: функция.

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

Подробнее 🔜 !


Вы получаете это, потому что подписаны на эту тему.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671 или отключить поток
https://github.com/notifications/unsubscribe-auth/AABfJ6EpFnMq_H5zR8vLtf7kXWZJbELxks5ttBlcgaJpZM4TrSYe
.

@ namangupta01 , @jywarren ... давайте начнем обсуждение этого ? Когда вы оба свободны?

Ага!
14 июня 2018 г., 12:55, «Sagarpreet Chadha » [email protected] написал:

@намангупта01 https://github.com/намангупта01 , @jywarren
https://github.com/jywarren ... давайте начнем обсуждение этого? Когда
вы оба свободны?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397198245 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/ATwCYebYN7qM2c0Emtdw2jhwYIILp5r1ks5t8g_fgaJpZM4TrSYe
.

У меня есть некоторая реализация в моем уме... опубликую через некоторое время.

Джо (который только начал работать в Public Lab) отлично провел время.
вопрос - не будет ли это каналом для рассылки спама? Должны ли мы беспокоиться
о рассылке спама ботами Twitter или, может быть, подумать о стратегии модерации?

Какими способами мы можем следить за этим? Открытый мозговой штурм!

Мол, может быть, ответные твиты должны понравиться кому-то?

В четверг, 14 июня 2018 г., в 4:47 Наман Гупта[email protected]
написал:

У меня есть некоторая реализация в моем уме... опубликую через некоторое время.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-397237305 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ_g3eeUD8-7bvLjXmQLYIz0LYM1qks5t8jEFgaJpZM4TrSYe
.

Спам является основной проблемой. Я читал документацию за последние несколько дней. Мне также было интересно, реализуем ли мы, как вы сказали, «ответные твиты должны понравиться», я обнаружил серьезную проблему.
Проблема в том, что всякий раз, когда пользователь ретвитит твит (который является узлом), мы можем узнать о ретвите через API, но когда ретвит нравится, мы не можем знать об этом. Единственный способ узнать об этом — искать статус каждого ретвита через определенный промежуток времени, что очень плохо, потому что давайте предположим, что у нас есть 10 000 ретвитов, тогда нам нужно искать статус 10 000 ретвитов, чтобы нам понравилось в определенный промежуток времени. А также эта цифра в 10 тысяч будет продолжать расти с течением времени.

А также один важный момент, который может привести к отсутствию спама, заключается в том, что мы можем добавлять твиты только тех пользователей, чей твиттер-дескриптор связан с любой учетной записью publiclab, точно так же, как мы делали это в reply-by-email , где электронная почта отправителя электронной почты находится на первом месте. проверено на ассоциативность с учетной записью publiclab.
Это может привести к спаму.

@ namangupta01 ... отличные баллы!

  • Проблема здесь в спаме, я думаю, что единственный метод модерации, о котором я также могу думать, заключается в том, что модератор должен одобрить комментарий к твите, поставив ему лайк (аналогично тому, как все работает на publiclab.org).
    => модератором может быть человек с учетной записью PublicLab в Твиттере ИЛИ человек из сообщества PL, который поставил лайк из своей учетной записи.

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

Что вы думаете ?

Отличное мышление! Но единственный момент, который меня беспокоит, это то, что мы должны явно проверять, понравился ли твит в каждом запросе для всех твитов в твитах publiclab, что может стать очень большим запросом по мере увеличения количества твитов.

И большую часть времени мы будем запрашивать твиты ни за что... это меня беспокоило. Что вы думаете?

Однако методика модерации в интерфейсе веб-сайта publiclab отлично сработает.
Нравится одобрять комментарии?

@jywarren Поскольку функция электронной почты почти завершена, мы могли бы обсудить ее?

Я постараюсь выделить на это время через день или два... спасибо!
Попытка полностью настроить и запустить все важные функции, прежде чем двигаться дальше.
Спасибо!

В понедельник, 25 июня 2018 г., в 19:18 Наман Гупта[email protected]
написал:

@jywarren https://github.com/jywarren Поскольку функция электронной почты почти
полный мы могли бы обсудить по этому поводу?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-400125415 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ-UOBtZ0G4haKmQRlSr0WJJ3Q30pks5uAW-ugaJpZM4TrSYe
.

@jywarren Можем ли мы указать node_id в твитах? Чтобы его можно было легко идентифицировать?

@jywarren Можно ли указать node_id в твитах?

Я думаю, что да! Но мы немного отключили автотвиттинг. Могли бы мы
распознавать ссылки типа publiclab.org/n/____ через Twitter API?

Вс, 15 июля 2018 г., 9:26 Наман Гупта, [email protected] написал:

@jywarren https://github.com/jywarren Можно ли поставить
node_id в твитах?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405091999 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ575zPOLYU6bpFdMMkZA0vl-Xg_Yks5uG0LpgaJpZM4TrSYe
.

@jywarren Итак, publiclab.org/n/____ будет отображаться прямо в твите или есть какие-то другие ссылки, которые перенаправляют на эту ссылку, как и раньше?
бывший:
screen shot 2018-07-17 at 2 07 32 am

Я исследовал и обнаружил, что все ссылки, которые приходят в твиттере через API твиттера, являются ссылками твиттера, которые перенаправляются на реальную страницу. Мне было интересно, используем ли мы ссылку для поиска узла, а твит содержит более одного public.org/n/__ (один для ссылки на сообщение в общедоступной лаборатории, а другой может использоваться в любом содержимом узла в самом сообщении общедоступной лаборатории), а затем в этом case комментарий может быть добавлен не к тому узлу, потому что мы не знаем, к какому фактическому узлу мы должны добавить этот комментарий? Что вы думаете?
screen shot 2018-07-17 at 3 40 13 am
screen shot 2018-07-17 at 3 40 23 am

@jywarren Итак, как мне это реализовать? используя node_id или другим способом. Дорабатываю способ реализации.

Это немного сложнее, когда у нас нет автоматического твита,
потому что мы не можем отформатировать оригинал. Я могу поднять это на наших сотрудников
позвоните или откройте звонок сегодня (https://publiclab.org/opencall), и мы можем попытаться
найти хороший путь вперед!

В понедельник, 16 июля 2018 г., в 18:20 Наман Гупта[email protected]
написал:

Я исследовал и обнаружил, что все ссылки, которые приходят в твиттере через
twitter api — это ссылка на твиттер, которая перенаправляется на реальную страницу. я был
интересно, используем ли мы ссылку, чтобы найти узел, а твит содержит более одного
public.org/n/__ (один для ссылки на сообщение в общедоступной лаборатории, а другой может быть
используется в любом содержимом узла в общедоступной лабораторной публикации), тогда в этом случае
комментарий может быть добавлен не к тому узлу, потому что мы не знаем, что
фактический узел, мы должны добавить этот комментарий? Что вы думаете?
[изображение: скриншот 17.07.2018 в 3:40:13]
https://user-images.githubusercontent.com/20709985/42786554-59b06d14-8974-11e8-96bd-e2c804da47c9.png
[изображение: скриншот 17.07.2018 в 3:40:23]
https://user-images.githubusercontent.com/20709985/42786555-59f820f0-8974-11e8-9aa8-ef78abc46dfe.png


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-405399249 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJwu8hr_XV85dxj3NlaTRgsBCaZ8jks5uHRF3gaJpZM4TrSYe
.

Я собираюсь использовать twitter gem, с помощью которого мы также можем делать автоматические твиты — просто дайте вам знать, что мы можем делать автотвиты без использования каких-либо сервисов. Буду искать способ форматирования.

Итак, о чем мы думаем:

  1. начните с реализации только ответов «признанных» пользователей твиттера, используя систему входа OAuth
  2. попытаться найти твиты, изолировав publiclab.org/n/_____
  3. Можем ли мы отображать все комментарии в списке только для модераторов и позволять им как-то «одобряться»? Можете ли вы продумать, как это может работать?
  4. если мы начнем разрешать все ответы в твиттере, давайте подумаем о способе «отключить это», если мы начнем получать МНОГО спама, таким образом, мы сможем попробовать.
  5. есть ли способы отобразить встроенный твит с его ответами, а затем, если есть ответы в твиттере, уведомить исходный постер, но не копировать их на самом деле?

Я только что разговаривал с @SidharthBansal. Я спросил об этом. Поэтому сейчас мы не сохраняем дескриптор твиттера, который требуется для распознавания пользователей. Я думаю, мы должны сохранить его где-нибудь, чтобы мы могли его распознать. @jywarren ?

@ namangupta01 , вы можете перенести модель пользовательского тега и добавить поле обработчика.
Если вам нужна дополнительная помощь, не стесняйтесь обращаться ко мне.
Спасибо

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl - в разработке
пабликлаб/участки2#2893
это вам обязательно поможет

Спасибо Сидхарт! :)

В четверг, 19 июля 2018 г., в 21:55 Сидхарт Бансал, [email protected]
написал:

https://github.com/publiclab/plots2/blob/master/doc/Omniauth.md
https://github.com/publiclab/plots2#ssl - в разработке
publiclab/plots2#2893 https://github.com/publiclab/plots2/issues/2893
это вам обязательно поможет


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406336137 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/ATwCYUJLLS9Lc722_YJWLBdLhWed_orrks5uILMDgaJpZM4TrSYe
.

Я думаю, что request.env['omniauth.auth']["info"]["urls"] будет работать.

ВАЖНО: Все провайдеры дают разные поля в своем хэше с разными именами. Поэтому, пожалуйста, позаботьтесь о заполнении информации обо всех других провайдерах - поле URL как NULL, если они не твиттер.

Посмотрите приведенные здесь хэши и сравните:

https://github.com/arunagw/omniauth-твиттер
https://github.com/mkdynamic/omniauth-facebook
https://github.com/omniauth/omniauth-github
https://github.com/zquestz/omniauth-google-oauth2

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

Google_oauth2 также имеет такое же имя --> информация --> URL-адреса
Но у facebook есть обработчик в extra_info. Итак, пожалуйста, получите [extra][raw_info][link] и сохраните в user_tag как обработчик.
Github --> Это не написано в документации. Может не дает. Найдите, если github предоставляет, чем назначьте обработчик github для этого поля
Все те, которые нельзя установить в обработчике, таком как Github, вы можете указать как NULL.

@jywarren должен ли я сделать отдельный столбец для каждого oauth?

модель пользовательского тега и добавить поле обработчика

Интересно, могли бы мы просто создать набор дополнительных настраиваемых полей oa-
для этой информации в плоской системе ключ:значение , вместо того, чтобы мигрировать
база данных... Сидхарт, что ты думаешь?

В четверг, 19 июля 2018 г., в 14:18 Наман Гупта[email protected]
написал:

@jywarren https://github.com/jywarren должен ли я сделать отдельный столбец для
каждый приват?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406368740 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ_XCeor_CeJB2aXO3eJHr0FJhX2rks5uIM1agaJpZM4TrSYe
.

Нам не нужно сильно усложнять user_tag. Он должен быть легко понятен новичкам.
Нам нужно будет добавлять поля много раз в будущем. Итак, рассмотрим ситуацию, которую мы сделали по этому подходу, тогда провайдеры будут иметь значение как uid:provider :handler. Github не предоставляет никакого обработчика. Теперь приходит ситуация, нам нужно, чтобы изображение отображалось на странице профиля. Так что это создаст проблему. Итак, нам нужно перенести базу данных. Итак, мое мнение - перенести БД с этого момента.

Нам нужно увидеть ситуацию, когда в будущем нам нужно будет реализовывать сообщения в и из fb или twitter после входа в систему, тогда нам также понадобятся другие поля. Мы не можем увеличить значение

Плоская система также является хорошим вариантом. Но меня беспокоит лучшая читабельность user_tags в будущем.

Давайте все обдумаем — какую именно модификацию модели user_tag вы ищете? Можем ли мы добавить только один текстовый столбец и хранить в нем JSON? Я пытаюсь придумать наиболее удобный и гибкий способ, поэтому у нас нет множества очень специфических функций в модели user_tag, которые нельзя было бы повторно использовать для разных целей. Есть смысл?

Спасибо всем!

@jywarren да, я понял твою точку зрения. Давайте добавим поле val user_tag.

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

В четверг, 19 июля 2018 г., в 18:00 Сидхарт Бансал, [email protected]
написал:

@jywarren https://github.com/jywarren да, я понял твою точку зрения. Давайте
добавьте поле val user_tag.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406427465 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ4Hlow0UZgw-e-I0WBp9Lpt0MiC0ks5uIQFKgaJpZM4TrSYe
.

@SidharthBansal Каждый раз, когда я вхожу в систему через твиттер на локальном компьютере, он перенаправляется на общедоступный веб-сайт лаборатории. Любая идея?

Я думаю, я понял, почему это происходит

@SidharthBansal я получаю эту ошибку, пожалуйста, помогите:
screen shot 2018-07-21 at 12 28 05 am

screen shot 2018-07-21 at 12 30 17 am

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

127.0.0.1:3001 небезопасно

Решено спасибо @SidharthBansal 👍

@jywarren Сегодня я искал, как можно создать плоскую систему.
Следующий файл является основным файлом в моем проекте Soc.
https://github.com/publiclab/plots2/blob/f2fe98da351a562152a85bd068acb1a9e6e7f7c0/app/models/user_tag.rb#L24 -L30
Если мы добавим строку, то весь проект Soc потребуется обновить в нескольких позициях. Также все тесты будут провалены. Нам нужно написать все тесты заново.
@ namangupta01 , что ты предлагаешь?
Если мы создадим новое поле в базе данных, то проект Soc можно будет изменить без каких-либо конфликтов. Все тесты и код для Soc Project останутся как есть.

Я думаю, что @jywarren сказал здесь, что мы можем добавить новое текстовое поле, где мы можем хранить объект JSON, который мы получаем в ответ.

Давайте все обдумаем — какую именно модификацию модели user_tag вы ищете? Можем ли мы добавить только один текстовый столбец и сохранить в нем JSON? Я пытаюсь придумать наиболее простой в сопровождении и > > гибкий способ, поэтому у нас не так много очень специфических функций в модели user_tag, которые не будут
повторное использование для различных целей. Есть смысл?

Я прав @jywarren ?

Подождем ответа Джеффа.

Да......

Еще одна моя проблема заключается в том, что когда мы будем опрашивать новые ответы в твиттере каждые 5 секунд или каждые 10 секунд, мы собираемся выяснить, существует ли конкретный дескриптор в базе данных или нет. Предположим, в каждом ответе мы получили несколько ответов, а затем нам нужно найти дескрипторы, для которых мы будем анализировать текстовое поле для извлечения дескриптора и проверки, существует ли этот дескриптор или нет. Увеличит ли это временную сложность системы? Потому что для каждой проверки дескриптора мы будем выполнять O(n) работы? А также в этом случае не будет работать индексация, чтобы ускорить транзакцию БД.
Извините , @jywarren , это занимает некоторое время, потому что я хочу получить полную информацию о реализации, прежде чем открывать PR, поскольку это будет сложная система.

Привет! Да, я имел в виду, что если есть много контента, который вы хотите хранить
вместе менее простым способом, мы могли бы создать текстовую колонку data в
user_tag и сохраните в ней JSON. Но не могли бы вы привести наглядный пример
тип данных, которые вы хотите хранить, чтобы мы знали, подходят ли они
способ хранить? Спасибо!

Что касается сложности, я согласен, это может создать значительную нагрузку. Не могли бы вы
написать псевдокод для серии запросов, и я могу помочь оптимизировать? я
думаю, мы могли бы создать более эффективный запрос, но помогите мне понять
желаемые шаги в первую очередь. Спасибо!

В пятницу, 20 июля 2018 г., в 16:00 Наман Гупта[email protected]
написал:

Еще меня беспокоит то, что когда мы будем проводить опрос на наличие новых ответов в твиттере в
каждые 5 секунд или каждые 10 секунд мы будем находить
дескриптор существует или нет в базе данных. Предположим, в каждом ответе мы получили некоторое
ответы, а затем мы должны найти дескрипторы для того, что мы будем анализировать
текстовое поле для извлечения дескриптора и проверки существования этого дескриптора
или нет. Увеличит ли это временную сложность системы? Потому что для
при каждой проверке дескриптора мы будем выполнять O(n) работу? А также без индексации
в этом случае будет работать, чтобы ускорить транзакцию БД.
Извините @jywarren https://github.com/jywarren это занимает некоторое время
потому что я хочу получить полную информацию о реализации перед
открытие PR, так как это будет сложная система.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406711222 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe
.

Pseudocode:

  1. Получить последние ответы из Твиттера:
  2. За каждый ответ в ответах:
    проверьте, принадлежит ли он какому-либо узлу или сообщению, используя publiclab.org/n/_____ , и если этот узел существует, то найдите, существует ли пользователь, используя ответчик твитов. Если пользователь существует, добавьте комментарий.
    tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet| node = Node.where(some_condition) #To find if node exists if node.any? node = node.first tweet_user = tweet.user UserTag.all.each do |user_tag| if(some_condtion_to_check if user handle exists) add_comment end end end end

На данный момент мне нужно только сохранить дескриптор твиттера, но я не знаю, какая функция
мы хотим в будущем, как изображение профиля и многое другое?

В субботу, 21 июля 2018 г., в 1:52 Джеффри Уоррен, [email protected]
написал:

Привет! Да, я имел в виду, что если есть много контента, который вы хотите хранить
вместе менее простым способом, мы могли бы создать текстовую колонку data в
user_tag и сохраните в ней JSON. Но можете ли вы привести наглядный пример
тип данных, которые вы хотите хранить, чтобы мы знали, подходят ли они
способ хранить? Спасибо!

Что касается сложности, я согласен, это может создать значительную нагрузку. Не могли бы вы
написать псевдокод для серии запросов, и я могу помочь оптимизировать? я
думаю, мы могли бы создать более эффективный запрос, но помогите мне понять
желаемые шаги в первую очередь. Спасибо!

В пятницу, 20 июля 2018 г., в 16:00 Наман Гупта[email protected]
написал:

Еще меня беспокоит то, что когда мы будем проводить опрос новых ответов в твиттере
в
каждые 5 секунд или каждые 10 секунд мы будем находить
дескриптор существует или нет в базе данных. Предположим, в каждом ответе мы получили некоторое
ответы, а затем мы должны найти дескрипторы для того, что мы будем анализировать
текстовое поле для извлечения дескриптора и проверки, является ли этот дескриптор
существует
или нет. Увеличит ли это временную сложность системы? Потому что для
при каждой проверке дескриптора мы будем выполнять O(n) работу? А также без индексации
в этом случае будет работать, чтобы ускорить транзакцию БД.
Извините @jywarren https://github.com/jywarren это занимает некоторое время
потому что я хочу получить полную информацию о реализации перед
открытие PR, так как это будет сложная система.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
< https://github.com/publiclab/plots2/issues/2671#issuecomment -406711222
,
или заглушить тему
<
https://github.com/notifications/unsubscribe-auth/AABfJ7Z9x-9Cwedez8T-gsMnYR4VQ75zks5uIjbCgaJpZM4TrSYe

.


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-406716657 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/ATwCYaP_Iy1H4Uxs83vmG95ucdrSLgxtks5uIjwCgaJpZM4TrSYe
.

Привет @jywarren Я добавил миграцию, чтобы сохранить JSON для ответа omniauth в # 3117, просто чтобы начать ... дайте мне знать, нужны ли какие-либо изменения?

@jywarren какие-либо обзоры и отзывы о pseudocode и pr?

Я надеюсь завершить это как можно скорее.

Можете ли вы поделиться типичным выводом JSON, который будет храниться в этом новом столбце, чтобы мы могли видеть? Спасибо!

Для псевдокода вы могли бы сделать что-то вроде:

since = comments.where(since_id not null).last # get most recent comment-from-tweet time
tweets = client.search("to:publiclab", since_id: 23423423).collect do |tweet|
 node = Node.where(some_condition) #To find if node exists
 if node.any?
   node = node.first
   tweet_user = tweet.user
   ruser = UserTag.find_by(twitter_id: tweet.user)
   add_comment(since_id: since, ruser) unless ruser.nil? 
end
end

Может оптимальнее?

Вот пример JSON:
````
{
"провайдер": "твиттер",
"uid": "849503183529545728",
"Информация":{
"псевдоним":"itsmenamangupta",
"name":"Наман Гупта",
"электронная почта": " [email protected] ",
"место расположения":"",
«изображение»: « http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg »,
"description":"GSoC'18 @PublicLab",
"URL": {
«Веб-сайт»: « https://t.co/fqLSxIlYFH »,
«Твиттер»: « https://twitter.com/itsmenamangupta »
}
},
"реквизиты для входа":{
"токен": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"секрет": "ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK"
},
"дополнительный":{
"access_token":{
"токен": "849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
"секрет": "ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
"потребитель":{
"ключ": "H59J9kJBVQvtZvWhr2SUAht4o",
"секрет": "GEQOygPITjGj2Imzg5ALJeCqE0GdQU2GAmTYOS9kEPcLVlMxQu",
"опции":{
"signature_method":"HMAC-SHA1",
"request_token_path":"/oauth/request_token",
"authorize_path":"/oauth/authenticate",
"access_token_path":"/oauth/access_token",
"прокси": ноль,
"схема":"заголовок",
"http_method":"сообщение",
"debug_output": ноль,
"oauth_version":"1.0",
"сайт": " https://api.twitter.com "
},
"debug_output": ноль,
"http": {
"адрес":"api.twitter.com",
"порт": 443,
"local_host": ноль,
«локальный_порт»: ноль,
"curr_http_version":"1.1",
"keep_alive_timeout":2,
«последнее_сообщение»: ноль,
«close_on_empty_response»: ложь,
"сокет": ноль,
"начало": ложь,
"open_timeout":30,
"read_timeout":30,
"continue_timeout": ноль,
"debug_output": ноль,
"proxy_from_env": правда,
«прокси_ури»: ноль,
"proxy_address": ноль,
«прокси_порт»: ноль,
«прокси_пользователь»: ноль,
«прокси_пасс»: ноль,
"use_ssl": правда,
"ssl_контекст":{
"проверить_режим":0,
"verify_hostname": правда
},
"ssl_session":{

           },
           "sspi_enabled":false,
           "ca_file":null,
           "ca_path":null,
           "cert":null,
           "cert_store":null,
           "ciphers":null,
           "key":null,
           "ssl_timeout":null,
           "ssl_version":null,
           "verify_callback":null,
           "verify_depth":null,
           "verify_mode":0
        },
        "http_method":"post",
        "uri":"https://api.twitter.com"
     },
     "params":{
        "oauth_token":"849503183529545728-fgqcxtgihvrrKd2icj67QpspT5bKntD",
        "oauth_token_secret":"ZDTD5HsexliY2Tnrv6aSEVSqPVvbDLY2YDW9S5VeDmmyK",
        "user_id":"849503183529545728",
        "screen_name":"itsmenamangupta"
     },
     "response":{
        "cache-control":[
           "no-cache, no-store, must-revalidate, pre-check=0, post-check=0"
        ],
        "connection":[
           "close"
        ],
        "content-disposition":[
           "attachment; filename=json.json"
        ],
        "content-length":[
           "664"
        ],
        "content-type":[
           "application/json;charset=utf-8"
        ],
        "date":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "expires":[
           "Tue, 31 Mar 1981 05:00:00 GMT"
        ],
        "last-modified":[
           "Sat, 21 Jul 2018 10:51:03 GMT"
        ],
        "pragma":[
           "no-cache"
        ],
        "server":[
           "tsa_k"
        ],
        "set-cookie":[
           "personalization_id=\"v1_pEJH6fv6zGSET2PG1MYRCw==\"; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com",
           "lang=en; Path=/",
           "guest_id=v1%3A153217026311648297; Expires=Mon, 20 Jul 2020 10:51:03 GMT; Path=/; Domain=.twitter.com"
        ],
        "status":[
           "200 OK"
        ],
        "strict-transport-security":[
           "max-age=631138519"
        ],
        "x-access-level":[
           "read-write-directmessages"
        ],
        "x-connection-hash":[
           "cf7caac1e8db2d46c6043fb2287ca32b"
        ],
        "x-content-type-options":[
           "nosniff"
        ],
        "x-frame-options":[
           "SAMEORIGIN"
        ],
        "x-rate-limit-limit":[
           "75"
        ],
        "x-rate-limit-remaining":[
           "71"
        ],
        "x-rate-limit-reset":[
           "1532170356"
        ],
        "x-response-time":[
           "238"
        ],
        "x-transaction":[
           "0085940a005f5411"
        ],
        "x-twitter-response-tags":[
           "BouncerExempt",
           "BouncerCompliant"
        ],
        "x-xss-protection":[
           "1; mode=block; report=https://twitter.com/i/xss_report"
        ]
     }
  },
  "raw_info":{
     "id":849503183529545728,
     "id_str":"849503183529545728",
     "name":"Naman Gupta",
     "screen_name":"itsmenamangupta",
     "location":"",
     "description":"GSoC'18 @PublicLab",
     "url":"https://t.co/fqLSxIlYFH",
     "entities":{
        "url":{
           "urls":[
              {
                 "url":"https://t.co/fqLSxIlYFH",
                 "expanded_url":"http://www.namangupta.me",
                 "display_url":"namangupta.me",
                 "indices":[
                    0,
                    23
                 ]
              }
           ]
        },
        "description":{
           "urls":[

           ]
        }
     },
     "protected":false,
     "followers_count":16,
     "friends_count":32,
     "listed_count":0,
     "created_at":"Wed Apr 05 06:05:16 +0000 2017",
     "favourites_count":86,
     "utc_offset":null,
     "time_zone":null,
     "geo_enabled":false,
     "verified":false,
     "statuses_count":42,
     "lang":"en",
     "contributors_enabled":false,
     "is_translator":false,
     "is_translation_enabled":false,
     "profile_background_color":"000000",
     "profile_background_image_url":"http://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_image_url_https":"https://abs.twimg.com/images/themes/theme1/bg.png",
     "profile_background_tile":false,
     "profile_image_url":"http://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_image_url_https":"https://pbs.twimg.com/profile_images/950001110378401793/mBAtBXyI_normal.jpg",
     "profile_link_color":"FFFFFF",
     "profile_sidebar_border_color":"000000",
     "profile_sidebar_fill_color":"000000",
     "profile_text_color":"000000",
     "profile_use_background_image":false,
     "has_extended_profile":true,
     "default_profile":false,
     "default_profile_image":false,
     "following":false,
     "follow_request_sent":false,
     "notifications":false,
     "translator_type":"none",
     "suspended":false,
     "needs_phone_verification":false,
     "email":"[email protected]"
  }

}
}
````

Да, мы можем использовать указанный вами код, нам понадобится столбец user_tag twitter_id таблице user_tag?

да, проблема в том, что вы не можете искать по json, наверное... вы могли бы
полнотекстовый поиск, но это дороговато, не так ли? @sidharthBansal - что делать
вы думаете, это хороший подход здесь?

В понедельник, 23 июля 2018 г., в 15:49 Наман Гупта[email protected]
написал:

Да, мы можем использовать указанный вами код, нам понадобится столбец twitter_id
в таблице user_tag?


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407178930 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJxV7kQpSKvSyCCpDQlFN6fWT_-yqks5uJiibgaJpZM4TrSYe
.

Да, это сделало бы это дорого.
Поможет ли добавление прямого username в столбец для всех служб oauth?

Привет, ребята, просто хочу напомнить, что мы также храним имена пользователей для различных социальных учетных записей в пользовательских тегах, поэтому, если вы, ребята, решите перейти на таблицы для хранения имени пользователя, пожалуйста, откройте дополнительную проблему, чтобы объединить эту систему. Спасибо!

Стоит ли автоматически генерировать тег стиля [twitter:jywarren] из
система ОА? Нам действительно нужно быть осторожными, чтобы никто не ложно связал свои
учетную запись, используя теги стиля [twitter:jywarren], поэтому, возможно, нам нужно
объединить их; Гаурав, не могли бы вы немного объяснить, как работает эта система?
работает?

В понедельник, 23 июля 2018 г., в 16:39 Гаурав Сачдева уведомления[email protected]
написал:

Привет, ребята, просто хочу напомнить, что мы храним имена пользователей для различных социальных
учетных записей в пользовательских тегах, поэтому, если вы, ребята, решите перейти на столы для
сохраняя имя пользователя, пожалуйста, откройте дополнительную проблему, чтобы объединить эту систему.
Спасибо!


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407193340 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/AABfJ79eJpa40xw7imZ_m2K8A2B3F4v0ks5uJjRdgaJpZM4TrSYe
.

Привет, ребята, просто хочу напомнить, что мы также храним имена пользователей для различных социальных учетных записей в пользовательских тегах, поэтому, если вы, ребята, решите перейти на таблицы для хранения имени пользователя, пожалуйста, откройте дополнительную проблему, чтобы объединить эту систему. Спасибо!

Привет @Gauravano , мы до сих пор нигде не храним имена пользователей социальных сетей. В настоящее время сохраняются только идентификатор пользователя и имя поставщика.
@Gauravano , не могли бы вы уточнить, на какую проблему вы указываете? Мы не делаем новые столы. Мы переносим пользовательский тег.

Да, мы можем использовать указанный вами код, нам понадобится столбец twitter_id в таблице user_tag?

да, проблема в том, что вы не можете искать по json, возможно... вы можете использовать полнотекстовый поиск, но это немного дорого, верно? @SidharthBansal - как вы думаете, какой здесь хороший подход?

@jywarren , @namanupta01 мы можем сохранить имя пользователя.

Нам нужно быть осторожными, чтобы никто не связал свою учетную запись с помощью тегов стиля [twitter:jywarren] ложно, так что, может быть, нам нужно их объединить?

Я послал пр в апреле для этого случая. Никто не может создать тег с именем oauth:________
Таким образом, не нужно беспокоиться об этом вопросе. Вы можете проверить это, перейдя на страницу профиля.
Скриншот для лучшего понимания.
image

Стоит ли автоматически генерировать тег стиля [twitter:jywarren] из системы открытого доступа?

@jywarren В настоящее время мы генерируем пользовательские теги OAuth ТОЛЬКО из OAuth. Другого способа их генерировать нет.

Добавление прямого имени пользователя в столбец для всех служб oauth поможет?

Добавление нескольких столбцов снова и снова не поможет. Я настоятельно рекомендую хранить весь хэш и использовать то, что нам нужно, когда возникнет такая необходимость. Например, после того, как naman использует обработчик из хэша авторизации. Мы можем использовать изображение из URL-адреса изображения для отображения на странице профиля общедоступной лаборатории. В настоящее время мы используем Gravatar.

Связанная проблема №3125
Сохраняем обработчик. Некоторые провайдеры позволяют пользователю изменять свой обработчик. Итак, нам нужен метод для изменения хэша аутентификации либо каждый раз, когда пользователь входит в систему, либо по истечении срока действия аутентификации. Авторизация дает дату и время истечения срока действия. Таким образом, мы можем использовать это и соответствующим образом обновить хэш авторизации. Пожалуйста, обсудите эту подзадачу в #3125, чтобы мы могли придерживаться миграции user_tag в этой проблеме.

Спасибо

Привет @jywarren @SidharthBansal @namangupta01 , я имел в виду эту систему -

Мы предоставляем пользователям PL возможность вводить свои различные имена пользователей в социальных сетях, например:
this_one

Пользователь добавляет социальную платформу в качестве ключа и свое имя пользователя в качестве значения.
user_2

После этого юзертег добавляется в его профиль-
profile_tags

Спасибо!

@Gauravano Я думаю, использование этого не будет хорошим, потому что я могу добавить любое имя пользователя, которое захочу?

Как @jywarren мы должны объединить с ним систему открытого доступа?

Хорошо, хранение хэша имеет смысл — зачем дополнительное преобразование, верно? Прохладный.

И +1 слияние этих систем. Предыдущая система великолепна, но интеграция с ней была бы выгодна по вышеуказанным причинам! Всем спасибо!

да, хранение хэша кажется хорошим вариантом👍

Во вторник, 24 июля 2018 г., в 22:45 Джеффри Уоррен, [email protected]
написал:

Хорошо, хранение хэша имеет смысл — зачем дополнительное преобразование, верно?
Прохладный.

И +1 слияние этих систем. Предыдущая система великолепна, но
Выиграйте от интеграции здесь по вышеуказанным причинам! Всем спасибо!


Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/publiclab/plots2/issues/2671#issuecomment-407482926 ,
или заглушить тему
https://github.com/notifications/unsubscribe-auth/ATwCYU7kYuvbVUbybfTrYum5r2lVLYevks5uJ1Y-gaJpZM4TrSYe
.

@jywarren @Gauravano @SidharthBansal , не могли бы вы, ребята, рассказать мне, как получить хэш из строки, сохраненной в БД, потому что я не могу найти способ? Спасибо

Мы можем следовать таким подходам, как https://stackoverflow.com/questions/35665266/rails-how-to-save-a-hash-to-the-db-and-using-it-as-a-hash-once-you. -тянуть-это-за?rq=1
ИЛИ https://stackoverflow.com/questions/6694432/using-rails-serialize-to-save-hash-to-database
и перейдите по аналогичным ссылкам, если они не помогают
Спасибо

Привет @Gauravano , я настоятельно рекомендую вам открыть еще одну проблему для объединения значков социальных сетей с открытым доступом и связать ее здесь, чтобы обсуждение не расходилось.
Спасибо за хорошее предложение.

Привет @SidharthBansa, я уже пробовал вышеуказанные ссылки, но они не работали

У меня проблема... мы должны явно преобразовать переменную auth в хэш, чтобы решить эту проблему.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги