0

だから私は次のことをしたかった:phpスクリプトはタイトル付きの写真をFacebookページにアップロードする必要がある。

それから私は少しグーグルでこれを見つけました:PHPを介してFacebookのファンページに投稿する簡単な例?

すべてが正常に機能しますが、残念ながら結果は私が望んでいたものではありません。「完全な」画像の代わりに、私は不自由になるだけです:http: //i.imgur.com/2qINX.jpg

あなたは私を助けることができます?スクリプトにはオフラインアクセスが必要で、私はすでにアプリを持っています。タイトルと一緒に写真をアップロードするためだけに必要です。それ以上は必要ありません。これまでは、Facebookがモバイルユーザー向けに提供しているメールで写真をアップロードしていましたが、それではもう満足できません。つまり、それほど難しいことではありません。しかし、これがわからない場合は、仮想Windowsサーバーをレンタルして、Facebookにログインして画像を投稿するスクリプトを実行します。

4

2 に答える 2

1

あなたはを使用してあなたのページに写真をアップロードすることができます-

$image['file'] = PATH_TO_PICTURE;
$args = array( 'access_token' => PAGE_ACCESS_TOKEN, 'message' => '','no_story' => 0);
$args['image'] = '@' . $image['file'];
$target_url = "https://graph.facebook.com/ALBUM_ID/photos";

$ch = curl_init(); 
curl_setopt ($ch,CURLOPT_URL,$target_url); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
curl_exec($ch);
curl_close ($ch);

PAGE_ACCESS_TOKEN

  1. ページ/アプリのリストを取得する-

    $facebook->api("/USER_ID/accounts"); 
    
  2. ページのアクセストークンを取得する-

    $facebook->api("/PAGE_ID?fields=access_token");
    
于 2012-12-22T20:00:51.907 に答える
1

これにより、特定のギャラリーに画像が読み込まれます。

$newphotodata = array(
'access_token' => $fanPageAccessToken,
'message' => $message,
'no_story' => 1,
'aid' => $albumId,
'image' => '@' . $picturePath);
$uploadedphoto = $facebook->api('/' . $albumId . '/photos/', 'post', $newphotodata);

ただし、次の権限も必要です。

read_stream, manage_pages, publish_stream, photo_upload, user_photos, user_photo_video_tags

user_photosとuser_photo_video_tagsが実際に必要かどうかわからないので、使用できる場合は使用せずに試してください。

また、電話をかける前に次の行が必要です。

$facebook->setFileUploadSupport(true);

ただし、基本的に最初に2つのことを行う必要があります。

まず、APIにクエリを実行して、投稿するページのアクセストークンを取得する必要があります。

これを行うには、次のAPI呼び出しを使用します。

$fanpages = $facebook->api('me/accounts?access_token='.$accessToken);

次に、$ fanpages ['data']をループして、必要なページを見つけます。

$fanPageAccessToken = $fanPage['access_token']

次に、適切なアルバムIDを使用して、上記の呼び出しを行います。

必要なアルバムIDがわからない場合は、次を確認してください。

$fan_albums = $facebook->api($fanPageId.'/albums/');

これにより、すべてのアルバムが表示されます。現時点でのキーフィールドは['id']と['name']です。

投稿を行うと、その証拠はありません。したがって、次に行うべきことは、リンクフィードに写真へのリンクを投稿することです。それについてサポートが必要な場合は、質問してください。情報を提供します。

または、私が少し前に書いた同じことをカバーするこれらの2つの記事をチェックしてください。

http://facebookanswers.co.uk/?p=262

http://facebookanswers.co.uk/?p=322

于 2012-12-22T20:02:26.150 に答える