そのため、Facebookのオープングラフプロトコルを介して共有するiPhoneアプリを作成していますが、メタタグを使用してオブジェクトの動的なWebページを作成しているときにスタックします。この投稿に出くわし、Facebook Open Graphメタタグを動的に生成し、コードを使用してみましたが、機能しません。
これは私のfood.phpオブジェクトのWebページです。
<?php
$params = array();
if(count($_GET) > 0) {
$params = $_GET;
} else {
$params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "food";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "blank";
if($params['description'] == "") $params['description'] = "default description";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#">
<!-- Open Graph meta tags -->
<meta property="fb:app_id" content="MY_APP_ID" />
<meta property="og:url" content="http://mysite.com/index.php?type=<?php echo $params['type']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/>
<meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/>
<meta property="og:title" content="<?php echo $params['title']; ?>"/>
<meta property="og:image" content="http://mysite.com/img/<?php echo $params['image']; ?>.jpg"/>
<meta property="og:description" content="<?php echo $params['description']; ?>"/>
</head>
</html>
このコードがサーバーにあるので、このURLでfbオブジェクトデバッガツールを使用してページにアクセスしてみました。
http://mysite.com/food.php?fb:app_id=MY_APP_ID
&og:type=MY_APP_NAME_SPACE:food
&og:title=Pizza
&og:description="Pizza"
&og:image=http://mysite.com/img/someImage.jpg
*URLにスペースがないことに注意してください
デバッガーはこのエラーをスローします
URLの解析エラー:入力URLの解析エラー。データが取得されませんでした。
ツールが解析できないため、入力したURLに問題があると思いますか?そうでない場合はどうなるでしょうか?