我有这个代码,如果我提供图像的直接链接,它的工作非常好。
只是一个问题我无法将我上传的图像传递给facebook-> api(无论是否有效)以及以下内容始终回显
echo'仅支持jpg,png和gif图像类型!';
我甚至删除了对图像类型的检查并尝试从中获取图像 $ img = realpath($ _ FILES [“pic”] [“tmp_name”]); 但$ img没有任何内容,并在Facebook上作为我的页面上传默认的空图像 请检查我的以下代码,让我知道我的代码有什么问题,我该怎么办才能上传图片
以下代码的在线链接:http://radiations3.com/facebook/1.php
<?
require 'src/facebook.php';
$app_id = "364900470214655";
$app_secret = "xxxxxxxx";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true,
'fileUpload' => true,
));
$user = $facebook->getUser();
//echo $user;
if(($facebook->getUser())==0)
{
header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos,offline_access,manage_pages'))}");
exit;
}
else {
$accounts_list = $facebook->api('/me/accounts');
echo "i am connected";
}
$valid_files = array('image/jpeg', 'image/png', 'image/gif');
//to get the page access token to post as a page
foreach($accounts_list['data'] as $account){
if($account['id'] == 194458563914948){ // my page id =123456789
$access_token = $account['access_token'];
echo "<p>Page Access Token: $access_token</p>";
}
}
//posting to the page wall
if (isset($_FILES) && !empty($_FILES))
{
if( !in_array($_FILES['pic']['type'], $valid_files ) )
{
echo 'Only jpg, png and gif image types are supported!';
}
else{
#Upload photo here
$img = realpath($_FILES["pic"]["tmp_name"]);
$attachment = array('message' => 'this is my message',
'access_token' => $access_token,
'name' => 'This is my demo Facebook application!',
'caption' => "Caption of the Post",
'link' => 'example.org',
'description' => 'this is a description',
'picture' => '@' . $img,
'actions' => array(array('name' => 'Get Search',
'link' => 'http://www.google.com'))
);
$status = $facebook->api('/194458563914948/feed', 'POST', $attachment); // my page id =123456789
var_dump($status);
}
}
?>
<body>
<!-- Form for uploading the photo -->
<div class="main">
<p>Select a photo to upload on Facebook Fan Page</p>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<p>Select the image: <input type="file" name="pic" /></p>
<p><input class="post_but" type="submit" value="Upload to my album" /></p>
</form>
</div>
</body>
答案 0 :(得分:1)
上传后,我收到了以下回叫
我是connectedarray(1){[“id”] =&gt;串(31) “194458563914948_415487041812098”}
graph api explorer建议上传成功
https://developers.facebook.com/tools/explorer?method=GET&path=194458563914948_415487041812098