我想在LinkedIn组中共享此文章链接(https://www.ngdevelop.tech/handsontable/),但链接预览不起作用。我之前的两个链接共享也发生同样的事情。在最后两个共享之前,链接预览可以正常工作,但是现在不能正常工作。
当我查看来自LinkedIn链接预览服务的响应时,我的状态为共享链接时收到错误代码500。
对于组中的链接共享,我得到以下响应:import UIKit
class ViewController: UIViewController, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UICollectionViewDelegate {
lazy var collectionView : UICollectionView = {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
cv.backgroundColor = .green
cv.isPagingEnabled = true
cv.delegate = self
cv.dataSource = self
return cv
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(collectionView)
collectionView.register(Cell.self, forCellWithReuseIdentifier: "cell")
collectionView.frame = self.view.frame
collectionView.contentInset = UIEdgeInsetsMake(0, -45, 0, -45)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(0, 145, 0, 145)
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 4
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: self.view.frame.width / 3 - 100 , height: collectionView.frame.size.height - 100)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 5
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 5
}
}
class Cell : UICollectionViewCell {
override init(frame: CGRect) {
super.init(frame: frame)
setupViews()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupViews() {
self.backgroundColor = .red
}
}
和社交调试:https://socialdebug.com/results?url=https%3A%2F%2Fwww.ngdevelop.tech%2Fhandsontable%2F
我也提到了Stackoverflow :LinkedIn doesn't fetch metadata when sharing website个帖子,还有https://www.linkedin.com/help/linkedin/answer/46687/making-your-website-shareable-on-linkedin?lang=en个帖子,但无济于事。
请帮助...
答案 0 :(得分:0)
我也一直看到这个问题,并且隔离了正在发生的事情。 这是我最近在WordPress.com网站上共享页面时在LinkedIn上看到的行为: -有时可以在我自己的Feed中共享内容预览。 -在LinkedIn组中共享完全无效。构建预览的LinkedIn XHR请求实际上返回500。
使用LinkedIn Post Inspector工具,我可以看到他们的搜寻器遇到了重定向循环。他们会请求一个HTTPS URL,重定向到HTTP URL,然后一直重定向到HTTPS URL。
使用Safari或Chrome浏览到相同页面时,我没有被重定向。最后,我使用LinkedIn搜寻器的用户代理尝试了相同的操作。啊哈!那是关键。 WordPress.com对LinkedIn(和Facebook)用户代理的处理方式有所不同,并将其重定向到循环中。
使用curl的示例:
curl -v -I -A 'LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)' -k --http1.1 --header 'Host: yoursite.com' 'https://wordpress origin IPv4 address'
在WordPress.com支持下一周来回之后,他们说这是故意的。出现这种重定向行为的原因是Facebook,LinkedIn等计算URL共享的次数。重定向可防止这些站点将HTTPS URL与同一资源的HTTP URL分开计数。他们的重定向是为了规范化URL。
如果重定向阻止任何人共享URL,那么这个共享计数“ fix”就没有意义了,这就是我现在所在的位置。
祝你好运!