【问题标题】:Sharing via Twitter, Facebook, LinkedIn, and Google Plus通过 Twitter、Facebook、LinkedIn 和 Google Plus 分享
【发布时间】:2014-12-25 14:03:13
【问题描述】:

我想要一个部分,用户可以通过我们的应用在不同的社交媒体平台上分享某个链接。我的 twitter 链接工作正常,但 Facebook、LinkedIn 和 G+ 只共享 URL,而不是自定义消息。

推特

a.twitter-share-button href="http://twitter.com/intent/tweet?source=sharethiscom&text=BlahBlahBlah&url=http://#{Figs.ms.url}/#{@app.uuid}" target="_blank"

脸书

a.fb-share-button href="https://www.facebook.com/sharer.php?u=http://#{Figs.ms.url}/#{@app.uuid}&t=BlahBlahBlah target="_blank"

领英

a.linkedin-share-button href="https://www.linkedin.com/cws/share?url=http://#{Figs.ms.url}/#{@app.uuid}&summary=BlahBlahBlah” target="_blank"

G+

a.gplus-share-button href="https://plus.google.com/share?url=http://#{Figs.ms.url}/#{@app.uuid}" target="_blank"

我希望自定义消息是 BlahBlahBlah,因此当他们点击任何这些链接时,它会填写自定义消息并包含该链接。

【问题讨论】:

    标签: ruby-on-rails ruby twitter google-plus sharing


    【解决方案1】:

    推特: Official Twitter Share Documentation

    https://twitter.com/intent/tweet?url={url}&text={title}&via={user_id}&hashtags={hash_tags}
    

    脸书: Official Facebook Dialog Documentation / Official Facebook Sharer Documentation

    如果您有 API 密钥...

    https://www.facebook.com/dialog/share?app_id={app_id}&display={page_type}&href={url}&redirect_uri={redirect_url}
    

    如果你不...

    https://www.facebook.com/sharer.php?u={url}
    

    领英: Official LinkedIn Share Documentation

    https://www.linkedin.com/sharing/share-offsite/?url={url}
    

    Google+: Official Google+ Share Documentation

    N/A : Service disabled.
    

    【讨论】:

      【解决方案2】:

      当前页面的url是(request.original_url)

      1. 对于 Facebook,您可以执行以下操作,更多详情请查看docs 了解更多详情:

      %a.fb-share-button{:href => "https://www.facebook.com/dialog/share?app_id=#{APP_ID}&display=popup&href=#{URL_TO_SHARE}&redirect_uri=#{request.original_url}", 角色:“menuitem”,tabindex:“-1”,目标:“_blank”}

      您可以通过将页面标题、描述、预览照片添加到 URL_TO_SHARE 元标记来自定义它们。更多详情请查看Open Graph Object Meta Tags

      %meta{:content => "1234567890", :property => "fb:app_id"}/
      %meta{:content => "http://samples.ogp.me/136756249803614", :property => "og:url"}/
      %meta{:content => "Chocolate Pecan Pie", :property => "og:title"}/
      %meta{:content => "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851565_496755187057665_544240989_n.jpg", :property => "og:image"}/
      
      1. 对于领英

      %a{:href => "http://www.linkedin.com/shareArticle?mini=true&url=#{URL_TO_SHARE}&title=#{TILTE}&summary=#{SUMMARY}&source=www.YOUR_DOMAIN.com", 角色:“menuitem”,tabindex:“-1”,目标:“_blank”}

      【讨论】:

      • 是否需要我有一个应用 ID 才能在我的应用上拥有一个链接到他们创建的另一个页面的自定义共享按钮?显得非常过分。另外,当我尝试将摘要添加到linkedin url时,它没有被填写。
      • 对于 facebook,您不必传递 app_id,但为应用分析保留它很好。对于linkedin,摘要最多应为256个字符,请检查他们的documentation