Ruby on Rails - Gem кнопки социальных сетей;Изменение того, что заполняется автоматически - PullRequest
0 голосов
/ 23 ноября 2018

Вопрос: Как я могу использовать гем кнопки «Поделиться» в социальных сетях для автоматического заполнения определенных текстовых областей социальных сетей, которые мне нужны?

Поскольку документации по гему кнопки «Поделиться» не так много(https://github.com/huacnlee/social-share-button), Мне нужна помощь в попытке создать некоторые пользовательские, автоматически заполненные записи, когда пользователи нажимают каждую кнопку, а именно для FaceBook и Reddit.

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

У меня есть такой код:

<%= social_share_button_tag('I have bought, '+ @item.name + ' , from The Store: ', :allow_sites => %w(twitter)) %>

Thisкод отлично работает для твиттера. Как говорится:

I have bought, Book, from The Store: http://localhost:3000/items/57#

Это было достаточно просто, но попытка иметь автозаполненные области для Reddit или Facebook просто не работает.

Это код FBУ меня есть:

<%= social_share_button_tag('Share to Facebook', :url => item_path(@item), desc:  @donate_item.name, :allow_sites => %w(facebook)) %>

И этот код помещает URL и заголовок элемента в ссылку, как показано:

FB Image

Я хочу иметь автозаполненный тэxt в «Скажи что-нибудь об этом», и я не уверен, что делать.

Что касается разделяемой ссылки Reddit, я получил это:

<%= social_share_button_tag(@item.name, :allow_sites => %w(reddit)) %>

И он производит:

RedditImage

Как и в случае с общим доступом к FB, я хочу иметь возможность автоматически заполнять область «заголовок».Я изменил код, такой как:

<%= social_share_button_tag(@item.name, title: "This item is great!", :allow_sites => %w(reddit)) %>

И он не работает.

Будет полезна любая помощь, поскольку я просто не знаю, что искать в фактическом источнике.

1 Ответ

0 голосов
/ 23 ноября 2018

Проверяя сам драгоценный камень, я не думаю, что он поддерживает передачу названий в Reddit.

Если мы посмотрим, откуда взято social_share_button_tag: https://github.com/huacnlee/social-share-button/blob/master/lib/social_share_button/helper.rb,, мы увидим, что он вызывает SocialShareButton.share(this); при нажатии.

В https://github.com/huacnlee/social-share-button/blob/6d329c9fadddd159e2b78310f8220f7e56a8d701/app/assets/javascripts/social-share-button.coffee, мы можем затем увидеть фактический URL, который он генерирует для каждой отдельной платформы социальных сетей, и когда мы ищем Reddit, мы видим:

# line 95
when "reddit"
        SocialShareButton.openUrl("http://www.reddit.com/submit?url=#{url}&newwindow=1", 555, 400)

Вы будетеобратите внимание, что параметр URL-адреса присутствует, но заголовок отсутствует (по сравнению с другими URL-адресами, через которые проходит заголовок.

В то же время, глядя на API Reddit: https://github.com/reddit-archive/reddit/wiki/API:-submit отправка запроса на получение длякамень, поддерживающий параметры заголовка, не выглядит слишком сложным и может быть вашим лучшим выбором.

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