Php Facebook使用了什么功能?

Php Facebook使用了什么功能?,php,facebook,video,hyperlink,Php,Facebook,Video,Hyperlink,我不确定这是正确的,所以张贴,但如果不是管理员,请随时移动到相关的SO或建议我移动它 我正在使用一个承包商来帮助我创建一个项目的网站。他用PHP编写了整个定制网站 我要求的一个功能是,网站上发布的链接应该具有我们在Facebook(FB)上看到的预览功能,就像附件中的图片一样 但他一直说我只能使用嵌入式代码来创建这样的预览功能。当我给他看FB预览时,他说FB可能在使用自己的技术。目前,如果我将youtube上的链接发布到我的测试网站,它会显示为如下文本: 我的问题是: FB到底在用什么?对于任

我不确定这是正确的,所以张贴,但如果不是管理员,请随时移动到相关的SO或建议我移动它

我正在使用一个承包商来帮助我创建一个项目的网站。他用PHP编写了整个定制网站

我要求的一个功能是,网站上发布的链接应该具有我们在Facebook(FB)上看到的预览功能,就像附件中的图片一样

但他一直说我只能使用嵌入式代码来创建这样的预览功能。当我给他看FB预览时,他说FB可能在使用自己的技术。目前,如果我将youtube上的链接发布到我的测试网站,它会显示为如下文本:

我的问题是: FB到底在用什么?对于任何PHP开发人员来说,这是易于实现的,还是真正耗时的实现

“他说FB可能正在使用自己的技术”

他对你问题的回答完全是胡说八道,只表明他不想做你要做的事。希望你不会给他太多钱


Facebook所做的有点鬼鬼祟祟,但结构简单。操作顺序为:

  • 用户在Facebook页面上输入文本
  • AJAX请求将与文本一起发送到Facebook服务器
  • Facebook服务器解析并看到其中有一个链接
  • Facebook服务器向链接目的地发出服务器端HTTP请求以了解更多信息
  • Facebook服务器解析用户看到的任何可以添加到输入模板中的响应
  • Facebook回复用户(可能是web套接字?可能是对早期AJAX请求的响应?)
  • Facebook页面上的客户端代码更新用户看到的内容
  • 从直觉上看,步骤2-6可能需要花费大量的网络时间,但这些往往是非常快速的服务(Facebook本身、YouTube等),所以这通常不是问题

    这里主要关注的是步骤3和步骤5。这就是Facebook使用一些自定义逻辑的地方,它可能花费了大量精力来定义这些逻辑。可能有一些库可以帮助实现这一点,可能是为了响应对这一确切功能的需求而创建的。对不起,我没有什么可推荐的

    技术实现是最简单的部分。从用户的文本中确定要获取哪些数据可能很困难。确定要在页面中放入哪些数据可能很困难。这取决于您想要实现的范围

    例如,可能很难检测用户是否输入了各种您可以响应的内容,但检测用户是否输入了可能是YouTube URL的内容可能很容易(可能使用正则表达式)。因此,如果您将问题空间缩小到YouTube预览,那么您可能会发现一些问题。如果你能成功解析YouTube链接,你就成功了。现在,您可以点击YouTube API并获取要发送回页面的信息


    对于其他小问题空间,继续使用这种模式(预览图像链接、预览其他流行站点的链接等),随着时间的推移,您可以添加相同的功能。

    GoDaddy server也可以实现这种功能吗?@Zanam:我不明白为什么不可以。您在这项工作中遇到实际问题了吗?我问这个问题是为了回答我的承包商:)。。我认为我的承包商开发商是在欺骗他lazy@Zanam:这可能比你想象的更普遍。很多程序员不想承认“你做不到”和“我不知道怎么做,也不想费心去弄清楚”之间的区别