1

この方法で php cronjob を使用して、ファン ページの壁に写真をアップロードする必要があります。

http://i48.tinypic.com/kcgwo5.jpg

アクセス許可のあるトークンがあり、いくつかの方法を試しましたが成功しませんでした。

test1.php:

$page_access_token = 'accesstoken';
$page_id = 'idofmyfanpage';
$data['picture'] = 'urlofimage';
$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/'.$page_id.'/feed';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

echo $return;

しかし、結果は...

http://i46.tinypic.com/5l5hfq.png

この灰色の箱…

別の方法を試しました。

test2.php:

$page_access_token = 'accesstoken';
$page_id = 'idofmyfanpage';
$data['image'] = '@imagetoupload.jpg';
$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/'.$page_id.'/photos';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

echo $return;

しかし、私の個人的なプロフィールの壁に写真をアップロードしてください。

ファンページのタイムラインアルバムにもアップしてみました。

http://graph.facebook.com/mypage/albums

{
   "data": [
      {
         "id": "xxxxxxxxxxxxxxxxxxxxxxx",
         "from": {
            "category": "Community",
            "name": "xxxxxxxxxxxxxxx",
            "id": "xxxxxxxxxxxxxx"
         },
         "name": "Timeline Photos",
         "link": "http://www.facebook.com/album.php?fbid=xxxxxxxxxxxxxxxx&id=xxxxxxxxx&aid=xxxx",
         "cover_photo": "xxxxxxxxxxxxxx",
         "count": 1,
         "type": "wall",
         "created_time": "xxxxxxxxxxxxx",
         "updated_time": "xxxxxxxxxxxxx",
         "can_upload": false
      },
      {
         "id": "xxxxxxxxxxxxxxxxxx",
         "from": {
            "category": "Community",
            "name": "xxxxxxxxxxx",
            "id": "xxxxxxxxxxxxxxx"
         },
         "name": "Profile Pictures",
         "link": "http://www.facebook.com/album.php?fbid=xxxxxxxxxx&id=xxxxxxxxx&aid=xxxxxxx",
         "cover_photo": "xxxxxxxxxxxxxxx",
         "count": 1,
         "type": "profile",
         "created_time": "xxxxxxxxxxxxxxx",
         "updated_time": "xxxxxxxxxxxxxxx",
         "can_upload": false
      }
   ]
}

test3.php

$page_access_token = 'accesstoken';
$page_id = 'idofmyfanpage';
$data['image'] = '@imagetoupload.jpg';
$data['access_token'] = $page_access_token;
$post_url = 'https://graph.facebook.com/idofalbum/photos';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $post_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);

echo $return;

結果:


{"error":{"message":"(#120) Invalid album id","type":"OAuthException","code":120}}

どうすればいいですか?

PD: 下手な英語でごめんなさい。

4

0 に答える 0