ボタンのクリックで PHP を使用して Facebook に写真をアップロードしようとしています。うまくいかないようです。
HTML ボタンコード
<a class="btn" href="test.php?upload=true">Click here to upload this image on your Facebook wall</a>
PHP コード
<?php
$act=isset($_GET['upload'])?$_GET['upload']:"";
if($upload=='true'){
set_time_limit(50);
require 'facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'FB_APP_ID',
'secret' => 'FB_SECRET_KEY',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
} else {
$loginUrl = $facebook->getLoginUrl();
header('Location:' . $loginUrl . '&scope=user_photos,publish_stream');
}
?>
<?php
// Login or logout url will be needed depending on current user state.
if ($user) {
if (isset($_GET['upload'])) {
?>
<?php
$facebook->setFileUploadSupport(true);
$args = array('message' => 'test');
copy('http://mysite.com/test.png', 'tmp/file.jpeg');
$args['image'] = '@' . realpath('tmp/file.jpeg');
$data = $facebook->api('/me/photos', 'post', $args);
unlink('tmp/file.jpeg');
//assigning users to tag and cordinates
$argstag = array('to' => $user);
$argstag['x'] = 40;
$argstag['y'] = 40;
$datatag = $facebook->api('/' . $data['id'] . '/tags', 'post', $argstag);
echo 'Success! Check your facebook wall now';
} else {
?>
<a href="test.php?upload=true">Click here to upload this image on your facebook wall</a><br/><br/>
<?php
}
}
}
?>
注: facebook.php は、facebook PHP SDK に付属するものです。