私はFacebookのAPIに新たなんだ、と私は小さな問題があります。 ユーザーのアルバムに画像をアップロードしようとしています。このために私はスタックオーバーフローで、ここで見つけたPHPスクリプトを使用しています:Facebookの写真をアップロード
$app_id = xxx;
$app_secret = "xxx";
$my_url = "http://apps.facebook.com/myapp/test.php";
$code = $_REQUEST["code"];
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url);
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret="
. $app_secret . "&code=" . $code;
$access_token = file_get_contents($token_url);
//upload photo
$file= 'test.png';
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
print_r($args);
$ch = curl_init();
$url = 'https://graph.facebook.com/2038278/photos?access_token='.$access_token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
//returns the photo id
print_r(json_decode($data,true));
をしかし、結果は次のとおりです。
アレイ( アプリケーションから[メッセージ] =>写真[テスト.PNG] => @/[mypathで】/test.png)アレイ( アプリケーションを検証[エラー] =>アレイ([タイプ] => OAuthException [メッセージ] =>エラーが発生しました。))
これは何を意味するのでしょうか ?私は私のアプリケーションのための拡張アクセス許可を持っている必要がありますか? 私はそれが基本的にアクセスも与えたとuser_photos
はどうもありがとうございました!
2番目のスクリプト
APP_ID = "XXX" $; $ app_secret = "xxx"; $ my_url = "http://apps.facebook.com/myapp/test.php";
$code = $_REQUEST["code"];
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&scope=user_photos" ;
echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&client_secret="
. $app_secret . "&code=" . $code;
$access_token = file_get_contents($token_url);
$token = $access_token;
//upload photo
$file= 'test.png';
$args = array(
'message' => 'Photo from application',
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/me/photos?access_token='.$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
print_r(json_decode($data,true));
こんにちは、あなたはユーザーの既存のアルバムに写真をアップロードしたいですか? –
こんにちは!私が試したことはテストしているが、私の必要なのは、自分のアプリケーション用のアルバムを自動的に作成することだ。 – maephisto
「アプリケーションの検証エラー」と言っている - あなたのFacebookアプリケーション自体に問題はないのだろうか?多分それは間違って設定されている、または最初の認証ステップのために右のキーをfacebookに渡していませんか? –