Php 获取相册封面照片

Php 获取相册封面照片,php,html,facebook-graph-api,Php,Html,Facebook Graph Api,我正在使用PHP上的Graph Api为用户获取相册 当我展示它们时,我还想展示每个相册的封面照片。我确实在每个相册上获得了[cover\u photo]属性,但我希望显示该图片,而不必为每张照片提出新的请求,以获得所有相册的源URL 有没有办法做到这一点 我尝试(未成功)通过以下操作获取照片: <img src="//graph.facebook.com/<?=$album['id'] ?>/picture"> /picture> 我阅读了解决方案: https:/

我正在使用PHP上的Graph Api为用户获取相册

当我展示它们时,我还想展示每个相册的封面照片。我确实在每个相册上获得了
[cover\u photo]
属性,但我希望显示该图片,而不必为每张照片提出新的请求,以获得所有相册的
URL

有没有办法做到这一点

我尝试(未成功)通过以下操作获取照片:

<img src="//graph.facebook.com/<?=$album['id'] ?>/picture">
/picture>
我阅读了解决方案:

https://graph.facebook.com/<id>/picture?type=album&access_token=<token>
https://graph.facebook.com//picture?type=album&access_token=

但是我不能将访问令牌公开放在img src中……我可以吗?

如果您将访问令牌公开,您需要采取预防措施,以便用户不会在不知情的情况下将其提供给其他人

确保你的应用程序通过HTTPS进行通信,否则如果你的用户在公共wifi上浏览你的网站,有人可以窥探你的流量并获取访问令牌。黑客行为与工作原理类似

如果恶意第三方获得用户的访问令牌,他可以像查询你的应用程序一样查询Facebook。如果你的应用程序具有发布流或管理好友列表权限,这可能会变得非常糟糕


只要您的用户知道这一点,就可以了。您不希望用户拥有的主要内容是您的应用程序的密钥。在身份验证过程中,您的应用程序会告诉用户的浏览器转到Facebook并返回一个“代码”。然后,您的服务器直接连接到Facebook(用户的浏览器不知道),并将该代码与应用程序的密钥一起发送。Facebook会带着访问令牌返回到您的服务器。

您这样做是非常认真的。但您不必担心,因为任何自动使用访问令牌的graph api调用都要求请求为https

另一种方法:您可以在脚本结束时注销facebook会话,这将使访问令牌无效

另一方面,facebook没有提到这是一个安全风险。他们在HTTP请求中包含了泄漏的访问令牌,并且没有使用HTTPS。这两个漏洞都已修复,非导出令牌也已移除。

这是一篇很好的文章,解释了自从Facebook切换到Oauth 2.0以来访问令牌的安全性

//graph.facebook.com
无论如何都是无效的url。这是一个有效的url。这是一个协议相关的url。我从这篇文章中了解到:我确实理解OAuth流。这就是为什么我试图找到一个不需要将访问令牌放入img src的解决方案。