1

問題: Facebook 開発者のブログのようにグラフ URL メソッドを使用している場合は、一度に 1 つのページに投稿できます (アプリケーション ユーザーの選択したすべてのページに写真を投稿できるようにしたい)。 [ユーザーが一度に複数のページに投稿できるようにするアプリケーションを開発する].だから私はその方法を使用していません.以下は私の方法です.

Heroku アプリ エンジンを使用すると、アップロードされたファイルをサーバーに永続的に保存することはできません。そのため、写真を保存できません。つまり、move_uploaded_file() を参照しないでください。

HTMLフォームフィールドのコードは次のとおりです。

<form enctype="multipart/form-data" action="poster.php" method="POST">
<p>Please choose a photo: </p>
<input name="source" type="file">
<p>Add Description </p>
<input name="message" type="text" value=""> 
<input type="submit" value="Upload"/>
</form>

poster.php コードは次のとおりです。

<?php
require "facebook.php" ;
$facebook = new Facebook(array(
'appId'  => '',
'secret' => '',
'cookie' =>true,
));
if(session_id()){}
else{session_start();}
$facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);
$x=realpath($_FILES['source']['tmp_name']);
$parameters = array('message' => $_POST['message'],'source' =>'@' . $x );
$parameters['access_token'] = $_SESSION['active']['access_token'];
$check=$facebook->api('/me/photos','POST',$parameters);
$redirecting="https://apps.facebook.com/pagecron/manage.php";
echo "<script>top.window.location='".$redirecting."';</script>";
?>
4

3 に答える 3

2

はい、これは機能するはずです。フルパスが画像のリンクを構築するからです。

于 2013-01-08T10:48:30.323 に答える
2

私自身の質問に答えて申し訳ありませんが、それは他のすべての人にとって本当に役に立ちます..まず第一に..私はそれができてうれしいです!!!

ここに間違いがありました... 置き換えます $facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);

$facebook->setFileUploadSupport("http://apps.facebook.com/myappname");

于 2013-01-08T10:31:26.490 に答える
1

よくわかりませんが、これを試してみてください-

$parameters = array(
     'message' => $_POST['message'],
     'picture' => '@' . $path,
     'link' => $_POST['link'],
     'name' => $_POST['name'],
     'caption' => $_POST['caption'],
     'description' => $_POST['description']
      );

これで問題が解決しない場合は、API 呼び出しのコードを共有できます。

于 2013-01-05T14:53:36.703 に答える