我正在尝试创建简单的 Facebook 游戏。确实需要在客户端做尽可能多的事情。我使用 FB.ui api 的 Feed 方法生成动态 .jpg 以在 facebook 墙上分享游戏结果。我尝试将此代码用作图像生成器:
<?php
header ("Content-type: image/jpeg");
$pictureUrl = $_REQUEST['pic'];
$firstPlayerResult = $_REQUEST['fpr'];
$firstPlayerName = $_REQUEST['fpn'];
$secondPlayerResult = $_REQUEST['spr'];
$secondPlayerName = $_REQUEST['spn'];
$im = imagecreatefromjpeg($pictureUrl);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$verdanaBold = './verdanab.ttf';
$verdana = './verdana.ttf';
imagefttext($im, 16, 0, 12, 33, $white, $verdanaBold, $firstPlayerResult);
imagefttext($im, 12, 0, 12, 50, $white, $verdana, $firstPlayerName);
$dimensions = imagettfbbox(12, 0, $verdana, $secondPlayerName);
$textWidth = abs($dimensions[4] - $dimensions[0]);
$x = 693 - $textWidth;
imagefttext($im, 16, 0, 603, 33, $white, $verdanaBold, $secondPlayerResult);
imagefttext($im, 12, 0, $x, 50, $white, $verdana, $secondPlayerName);
imagejpeg($im);
?>
但有一个问题。脚本在浏览器中打开时工作正常 - 它显示正确的 .jpg 屏幕,但是当我尝试将 js 脚本的 URL 链接(带有 GET 请求)从 FB.ui 传递到 Feed 方法的“图片”字段时,它的返回内部错误 (500)。当我尝试直接通过我的 facebook 墙上的链接时会出现类似的行为(facebook 不解析图像并且只显示 URL)。如何修复它并将图像正确显示为 facebook 提要?