1

Instagramで写真を共有すると、タイムラインの写真の上に次のメッセージが表示されます。

「FBユーザーはInstagramで写真を撮りました。」

私のテストは現在、次のことを示しています。

「AppName経由で3秒前のFBユーザー」

私の画像の郵便番号は次のとおりです。

$args = Array(
    'url'           => 'http://www.mySiteName.com/imageName.png',
    'message'       => 'Made on SiteName http://www.mySiteName.com',
);
$post_id = $this->facebook->api("/me/photos", "post", $args);

私が行ったOpenGraphアクションとオブジェクトを設定する必要があると思いますが、それらを正しく設定したか、またはそれらをテストする方法がわかりません。

アクション「Make」とオブジェクト「Collection」を作成し、次のことを試しました。

$post_id = $this->facebook->api("/me/Namespace:make", "post", $args);

しかし、エラーが発生します:

「公開しようとしているアクションは、参照オブジェクトを指定していないため無効です。次のプロパティの少なくとも1つを指定する必要があります:コレクション。」

コレクションGetCodeは以下を提供します:

 <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# collection: http://ogp.me/ns/collection#">
  <meta property="fb:app_id" content="appId" /> 
  <meta property="og:type"   content="collection" /> 
  <meta property="og:url"    content="Put your own URL to the object here" /> 
  <meta property="og:title"  content="Sample Collection" /> 
  <meta property="og:image"  content="https://s-static.ak.fbcdn.net/images/devsite/attachment_blank.png" /> 

アクションGetCodeは以下を提供します:

curl 'https://graph.facebook.com/me/nameSpace:make?access_token=TOKEN'
4

2 に答える 2

1

私はそれをうまく機能させることができ、結果の投稿、参照URL、Codeigniterコードの画像の下に投稿しました。

Makeは私のOpenGraphアクションであり、Collectionは私のOpenGraphオブジェクトです。

Facebookでの結果の投稿

参照:

http://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/publish-open-graph-story/ http://developers.facebook.com/docs/opengraph/usergeneratedphotos/

$userId = $this->facebook->getUser();

// If user is not yet authenticated, the id will be zero
if($userId == 0){
    // Generate a login url
    $url = $this->facebook->getLoginUrl(array('scope'=>'email,user_photos,friends_photos,publish_stream')); 
    echo "<h2><a href='" . $url . "'>Login</a></h2>";
} else {

    // Make Logout URL
    $logoutUrl = $this->facebook->getLogoutUrl(array(
        'next'  => 'http://www.myUrl.com/logout/',
        // URL to which to redirect the user after logging out
    ));
    echo "<h2><a href='" . $logoutUrl . "'>Logout</a></h2>";

    // Get User's data
    $user = $this->facebook->api('/me');
    echo "<p>Welcome <b>" . $user["name"] . '</b></p>';
    echo("<p><b>User Details: </b>");
    print_r($user);
    echo("</p>");

    // Get user's Permissions 
    $permissions = $this->facebook->api('/me/permissions');
    echo("<p><b>User Permissions: </b>");
    print_r($permissions);
    echo("</p>");

    if (isset($permissions['data'][0]['publish_stream'])) {
        echo "<h3>Permission to Post</h3>";
    } else {
        $url = $this->facebook->getLoginUrl(array('scope'=>'email,user_photos,friends_photos,publish_stream')); 
        echo "<h3>NO Permission to Post: ";
        echo "<a href='" . $url . "'>Get extra permissions</a></h3>";
    }

    // Upload an via OpenGraph Collection Object
    $og_type = 'collection'; // Your Opengraph Object
    $og_title = urlencode('This is my Title');
    $og_description = urlencode('This is my Description');
    $og_image = 'http://www.myUrl.com/big.png'; // At least 480px by 480px 

    $object_url = 'http://www.myUrl.com/fb_object_meta.php?fb:app_id=398917983475605&og:type='.$og_type.'&og:title='.$og_title.'&og:description='.$og_description.'&og:image='.urlencode($og_image);
    // See this URL if you need the code for the dynamic meta data page
    // http://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/publish-open-graph-story/

    $args = Array(
        'collection'                => $object_url,
        'image[0][url]'             => $og_image, // Possible to upload more than one user gen image e.g. image[1][url]
        'image[0][user_generated]'  => 'true',
        //'message'                 => 'Made on myUrl http://www.myUrl.com', // This shows above the large pic
    );

    try {
        $post_id = $this->facebook->api("/me/myUrl:make", "post", $args);
        print_r($post_id);
    }
    catch (Exception $e)
    {
        print_r($e);
    }   

}
于 2012-10-23T11:00:49.063 に答える
0

アプリ コンソールで OG アクションを追加した場所の右側に、「コードを取得」というリンクがあります。これにより、含める必要がある情報が表示されます。

あなたの場合、collection写真の OG マークアップを含むページの URL を含む引数にパラメーターが必要です。

collectionアプリ コンソールで作成したオブジェクトの横にある [コードを取得] リンクをクリックすると、このマークアップを見つけることができます。

アップデート

オープン グラフは、アクセス可能な Web ページの先頭にメタ タグを追加することで機能します。colleationいくつかのページにメタを追加してからcollection、作成中のリクエストのパラメーターにページの URL を追加する必要があります。

于 2012-10-22T14:52:06.673 に答える