OpenGraph: 1 つのオブジェクト A に対して、B と C という 2 つの異なるアクションを作成します。オブジェクトは両方のアクションに対して同じ URL を持っていますが、別のアイコン (og:image) を設定したいと考えています。
出来ますか?
OpenGraph: 1 つのオブジェクト A に対して、B と C という 2 つの異なるアクションを作成します。オブジェクトは両方のアクションに対して同じ URL を持っていますが、別のアイコン (og:image) を設定したいと考えています。
出来ますか?
はい、もちろん可能です。アクションを投稿するときに、オブジェクト スクリプトの og:image タグ内に取得して配置できる image パラメータを含む object_url を渡します。たとえば、phpを使用する場合:
アクションの投稿:
$facebook->api("me/app_namaspace:action_name","POST",array('object_name'=>"$object_url?pic=$image_url, 'access_token'=>$access_token));
object_name.php にオブジェクトのメタ タグがあるとします。
//object_name.php
<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# postappfg: http://ogp.me/ns/fb/app_namespace#">
<title></title>
<meta property="fb:app_id" content="appid" />
<meta property="og:type" content="app_namespace:object_name" />
<meta property="og:title" content="title" />
<meta property="og:image" content="<?php echo $_GET['pic'];?>"/>
</head>
Smitaあなたはキャッシュを忘れました。オブジェクトが登録されると、og:imageは一度登録されたものであり、新しいものではありません。もちろん、Facebookデバッガーを使用すると別の画像が表示されますが、これはFacebookデバッガーがオブジェクトを「再スクレイプ」してデータをリセットするためです。
Open Graph プロトコルに従うと、Open Graph オブジェクトは 1 つの画像で定義されます。しかし、Open Graph オブジェクトの画像を変更する方法が存在します。
オブジェクトのデフォルトの og:image を定義します。これは必須であり、アクティビティを投稿するときに、画像の URL を含む「image[0][url]」プロパティを追加する必要があるためです。og:image 画像は上書きされます。例:
https://graph.facebook.com/me/mywhiskyapp:buy?whisky=http://samples.ogp.me/306369449462168&access_token=[...]&method=post&image[0][url]=http://img .diytrade.com/cdimg/339590/1362083/0/1144228175/ウイスキー.jpg