1

问题:如果我在 facebook 开发人员的博客链接中使用图形 URL 方法,我只能一次发布到一个页面(我希望能够将图片发布到我的应用程序用户的所有选定页面)。 [开发一个应用程序让用户一次发布到多个页面]。所以我没有使用那种方法,下面是我的方法。

使用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

很抱歉回答我自己的问题,但这对所有其他人都会有很大帮助..首先..我很高兴我做到了!!!

这是错误所在... 替换 $facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);

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

于 2013-01-08T10:31:26.490 回答
2

是的,这应该可行,因为完整路径将构建图像的链接。

于 2013-01-08T10:48:30.323 回答
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 回答