几天前我遇到了这个问题。我的整个应用程序都在使用 HTTPS,而我的问题只是通过 HTTP 加载个人资料图片......我快速而肮脏的解决方法是手动替换所有个人资料图片的域名。例如,
str_replace('http://profile.ak.fbcdn.net','https://fbcdn-profile-a.akamaihd.net',$user['pic_square']);
您必须检查并查看您的个人资料图片的 URL。我假设他们不是来自完全相同的地方。查看您自己的个人资料图片的 URL 并替换我在https://fbcdn-profile-a.akamaihd.net
.
在仔细查看Facebook 文档后:
如果您需要通过安全连接返回图片,可以将 return_ssl_resources 参数设置为 1:https ://graph.facebook.com/4/picture?return_ssl_resources=1 。
我发现了一个名为 的附加参数return_ssl_resources
,当使用 传递时true
,它使用 HTTPS 返回个人资料图片。
$fql = "SELECT uid, name, pic_square FROM user WHERE uid=me()";
$param = array( 'method' => 'fql.query', 'query' => $fql, 'return_ssl_resources'=>1);
$fbuser = $facebook->api($param);
它就像一个魅力,我不再收到混合的安全警告。我希望这有帮助!