推特分享链接失效

Posted

技术标签:

【中文标题】推特分享链接失效【英文标题】:Twitter share link not working 【发布时间】:2018-02-19 13:03:11 【问题描述】:

我希望我的推文分享按钮能够像推文实际显示图像、标题和描述一样工作。我给了 Twitter Cards 但它不起作用,我不明白为什么。我的 G+ 运行良好,但我在 Twitter 和 Facebook 分享方面遇到了一些问题。

我的 Twitter 分享锚标签在下面

<a class="fa fa-twitter" href="https://twitter.com/intent/tweet?status=<?php echo base_url(); ?>index.php/Testimonials/fb_share/<?php echo $row->client_id; ?>" target="_blank"><i class="icomoon-icon-twitter"></i><span class="share-title"></span></a>

我也试过用 url 代替 status,但还是没有成功

 <a class="fa fa-twitter" href="https://twitter.com/intent/tweet?url=<?php echo base_url(); ?>index.php/Testimonials/fb_share/<?php echo $row->client_id; ?>" target="_blank"><i class="icomoon-icon-twitter"></i><span class="share-title"></span></a>

我的 Twitter 卡片在下面

  <!-- Twitter Card data -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="http://quanutrition.com/Dotcom/new/">
<meta name="twitter:title" content="<?php echo $res['name'];?>">
<meta name="twitter:description" content="<?php echo $res['content1'];?>">
<meta name="twitter:creator" content="@author_handle">
<meta name="twitter:image" content="http://quanutrition.com/Dotcom/new//admin/assets/uploads/clients_image/<?php echo $res['image'];?>">
<!-- Twitter summary card with large image must be at least 280x150px -->
<meta name="twitter:image:src" content="http://quanutrition.com/Dotcom/new//admin/assets/uploads/clients_image/<?php echo $res['image'];?>">

对于特定的 client_id,$res 变量看起来像这样

数组 ( [client_id] => 1 [name] => Shikhar Dhawan [image] => shikhar-dhawan-759.jpg [video] => [content1] => "营养是关键 在我的恢复和表现中发挥作用。使用运动基因检测和 先进的营养血液生化帮助我。有计划地吃饭 通过这种方式变得更加科学和结果导向。”

现在我不明白为什么 Twitter 卡不起作用。我以完全相同的方式做了 G+,并且效果很好。有人可以建议如何解决这个问题吗?

【问题讨论】:

【参考方案1】:

首先,您必须确保您的元标记在您共享的 URL 的最终静态输出中可用。

在一个示例推荐页面 http://quanutrition.com/Dotcom/new/index.php/Testimonials/fb_share/4 的情况下,我看到了这个:

<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="http://quanutrition.com/Dotcom/new/"> <meta name="twitter:title" content="S. Danush"> <meta name="twitter:description" content=""Qua Nutrition has helped me grow physically, sports-wise in a healthy manner and explore my strength through right nutrition. I thank my vibrant coach Mr.Veerabadran, who showed me the way to Qua Nutrition and thank my Nutritionist Suhasini for her dedicated support and guidance in helping me achieve my dream. The systematic approach of dietitians and minuscule study of body elements are the strengths of QUA. Wish that every athlete gets an opportunity to visit Qua Nutrition and get the best out of them!" "> <meta name="twitter:creator" content="@author_handle"> <!-- Twitter summary card with large image must be at least 280x150px --> <meta name="twitter:image:src" content="http://quanutrition.com/Dotcom/new//admin/assets/uploads/clients_image/DanushS.jpg">

twitter:description 标记已损坏,因为它在 content 的值的两侧都有一个双引号。

twitter:creator 标签是通用标签。

twitter:image:src 标签名称应为twitter:image。这在卡片中documentation。

在Twitter Card Validator 中测试您的链接会导致: ERROR: Failed to fetch page due to: DnsResolutionRequestTimeout

这可能是因为您的主机阻止了 Twitter 的 IP 地址,或者您的域的 DNS 解析速度较慢(5 秒以上)。

在Twitter's developer forums 和documentation site 上有故障排除建议。

【讨论】:

请建议我解决 DNS 问题的方法。我应该将 Twitter 的 IP 地址列入白名单吗?如果是,那我怎样才能得到 twitter 的 ip 地址? 这在故障排除文档中列出。此处dev.twitter.com/cards/troubleshooting 清楚地描述了 IP 范围(搜索“IP 范围”)。如果有任何其他 DNS 问题超出 Twitter 文档的范围。【参考方案2】:

请在您的锚标记中将“status”替换为“url”。

【讨论】:

我已经试过改了。它仍然显示相同的结果。它被共享,但推特卡没有加载。所以在我的推文中,我只看到了没有任何图像、标题或描述的网址。 查看我的最新编辑。我按你说的试过了,还是不行 @SayantanMitra,你能给我最后的网址吗? quanutrition.com/Dotcom/new/Testimonials 看到那里的推荐信了吗?我想在点击推文按钮而不是整个页面时分享这些推荐。 不,这是错误的做法,twitter 会读取您的最终输出页面,而不是中间页面。

以上是关于推特分享链接失效的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 脸书和推特分享

解决百度网盘(百度云)分享链接不存在失效分享的文件已经被取消的问题

为啥之前分享到微信的音乐现在都不能听了,连接失败,

如何下载百度网盘已失效资源链接

百度网盘机器人自动加好友回复消息自动发货发资源文件

推特和脸书的帖子可以链接吗?