2011-11-14 9 views
2

Facebookに写真を投稿するアプリがありましたが、Facebookのパスワードを変更したときにトークンがリセットされました。そこで、私はすべてのトークンを取得する認証プロセスに戻りました。私はこのメッセージを受け取り続けています。 {"message": "無効なアクセストークンシグネチャ"、 "type": "OAuthException"}}アクセストークンの署名が無効です - アプリを使用してfbページに写真を投稿する

私のページトークンが間違っていると思います。私の古いページトークンと比較して、私の新しいページトークンは余分な30の文字です。私は一歩足りないと思っています。

https://graph.facebook.com/me/accounts?access_token=を使用してページのトークンを取得しています。 AAACeXXXXXXXXXXXXXXXXXXXpLiXZCYCIEsBzK59vUcP00cpk4XXXXXXXXXXXXXXXd2tnbCePVYLEuk0OBrQBmTRnGHfs3gZDZD

私はページトークンとステップをしないのです:

これは私の古いページトークンは= ftXXXXXXXXXVJCeVnt-sKYoM

のように見えた。しかし今では、このように何ですか?

私は範囲の問題ではないことを知っています。私はすべての許可をこのダンに割り当てました。

ありがとうございました。

ここに私のすべてのトークンアクセスを台無しにする前に働いていた私のコードのサンプルです。私はここに私の新しいトークンを持っている、それは私にトラブルを与えているものです。コードの残りの部分ではありません。どんな洞察も大きなものになるでしょう。

$access_token = '1743XXXXXXXXX9104|fcdApQ4CXXXXXXXXXMo82SRHQh8o|81XXXXXXXXX70|AAACelwXXXXXXXXXuiTpY2BBwUZBpLiXZCYXXXXXXXXXcpk4g4FBkhpwykR0amEcdn1Kd2tXXXXXXXXXrQBmTRnGHfs3gZDZD'; 
$post_name = 'NAME'; 
$post_link = 'http://mykirklands.com'; 
$post_picture = '000000.jpg'; 
$post_description = 'description'; 

// CRAFT OUR MESSAGE TO POST 
$url = "https://graph.facebook.com/$page_id/photos"; 
$post_name = $content; 
$post_picture = '@'.$_SERVER['DOCUMENT_ROOT'].''.$image; 
$attachment[$count] = array('access_token' => $access_token,       
'source'  => "$post_picture", 
'message'  => "$post_name" 
); 
echo $count++; 
} 


foreach($attachment as $row){ 
// SEND TO FACEBOOK 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $row); 
$result= @curl_exec($ch); 
curl_close ($ch); 
}; 

答えて

2

この回答が見つかりました。最近フェイスブックがいくつか変わったようです。

APP_IDの形式を持っていた古いアクセストークンを| APP_TOKEN | PAGE_ID | PAGE_TOKEN

アプリケーションからFacebookのウォールに投稿するために必要な新しいアクセストークンがちょうどです:TOKEN PAGE

ページトークンの違いは長さである: 旧トークン

4qVvc4wBz14_fgJLqE7PeQyLgaY

新しいトークン

XXXXXXXXXXcnPXXXXXXXXXXVr3hmNPsqypxR9mXXXXXXXXXXXVGFdmQeWZCXXXXXXXXXXelrC69kdwZCXXXqD98IislBJ5YYYYYYYwZDZD

新しいトークンには、アプリケーションとページに与えられたアクセス許可を認証するのに十分なセキュリティが含まれていると推測しています。

私は、PHPのスクリプトを使用して、画像の投稿をcURLを通じてページのFacebookブックの壁に投稿しています。また、cURLに送信するURLにトークンを変数として含める必要があることに注意することも重要です。

$url = "https://graph.facebook.com/$page_id/photos?access_token=$page_access_token";

私はこの事を整理するために重要なコードブロックを追加している:

$attachment = array('message' => '', 
'name' => "$post_name", 
'caption' => '', 
'link' => '', 
'description' => "$post_name", 
'source' => "$post_picture", 
'actions' => array(array('name' => '', 
'link' => '')) 
); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment); 
$result= @curl_exec($ch); 
curl_close ($ch); 

はすべて完了です。物事は正常な状態に戻ります。これについてご質問がありましたらお知らせください。この単純な変更になる前に私は3日間壁に頭をつけた。うまくいけば誰も私が通ったものを通過する必要はありません。

関連する問題