간단한 페이스 북 게임을 만들려고합니다. 클라이언트 측에서 가능한 한 많이해야합니다. FB.ui API의 Feed 메서드를 사용하여 페이스 북 벽에서 게임 결과를 공유하는 동적 .jpg를 생성합니다. 이 코드를 이미지 생성기로 사용하려고 시도했습니다.페이스 북에서 실시간 동적 공유 이미지 생성
<?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 화면을 표시하지만, FB.ui의 Feed 메서드의 'picture'필드에 js 스크립트에 대한 URL 링크 (GET 요청 포함)를 지나치려 할 때 내부 오류를 반환하십시오 (500). 내가 페이스 북 벽에 링크를 지나서 직접 시도 할 때 비슷한 행동이 나타납니다 (페이스 북은 이미지를 구문 분석하지 않고 URL 만 표시 함). 이미지를 수정하고 이미지를 Facebook 피드로 올바르게 표시하려면 어떻게해야합니까?
[Graph API debugger] (https://developers.facebook.com/)에서 이미지 URL을 확인해 보았습니까? 도구/디버그) 및 [W3C 검사기] (http://validator.w3.org/)? – cpilko
예, debbuger에서 URL을 확인했습니다. 응답 : "URL 구문 분석 중 오류 : \t 입력 URL 구문 분석 중 오류가 발생했습니다. 데이터가 스크랩되지 않았습니다." –
스크립트가 잘못된 정보를 보내고 있으며 Facebook에서 해당 정보를 구문 분석하지 않습니다. Chrome/Safari/Firebug의 W3C 유효성 검사기와 개발자 도구를 사용하여 헤더를 자세히 살펴보십시오. – cpilko