ソリューション編集: 正しいApp Tokenを返すためにPHP SDKを使用することはできません。また、DeveloperサイトのAppセクションのOpenGraphオプションをクリックしてGetコード」およびそこからアプリのアクセストークンをつかむ..あなたはこれをしなければならない。Facebookに登録Achievement access_token問題
$token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' . $fbConfig['appId'] . '&client_secret=' . $fbConfig['appSecret'] . '&grant_type=client_credentials';
$accessToken = explode('=',file_get_contents($token_url));
$accessToken = $accessToken[1];
オリジナル問題:PHP SDKを使用して 、私は自分の成果を登録するには失敗したしようとしてきました。次のエラーが表示され続けます。 "このメソッドは、アプリケーションのaccess_tokenで呼び出す必要があります。"
しかし、opengraph(https://graph.facebook.com/app?access_token=ACCESS_TOKEN)に使用しているトークンを入力すると、正しくアプリケーション情報が取得されます。ここで
は、私は私の成果を登録するには、これまで試みたメソッドです:
$param = array(
'access_token' => $accessToken,
'achievement' => 'http://domain.com/path/to/my/achievement/page',
'display_order' => $achievements['achievementWeight']
);
$achievement = $fb->api('/'.$this->CI->config->item('app_id').'/achievements', 'POST', $param);
$superCurl = "curl -F 'achievement=" . $achieveUrl . "&access_token=" . $accessToken . "' https://graph.facebook.com/" . $appId . "/achievements";
exec($superCurl,$result);
$url = 'https://graph.facebook.com/' . $this->CI->config->item('app_id') . '/achievements?access_token=' . $accessToken;
$c = curl_init ($url);
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $param);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
if(curl_errno($c)){
$this->CI->firephp->log(curl_error($c));
}
$page = curl_exec ($c);
curl_close ($c);
すべては常にそれがaccess_tokenはを必要と言って戻ってきます。
私は承知しているために十分ではありません。私が使用しているaccess_tokenが、上記のグラフAPIリンクごとのアプリケーションのアクセストークンであることを確認しました。それは、アプリの情報を返し、ユーザーについては何も返しません。 – Enzo
申し訳ありませんが、私は誤解している可能性があります - あなたは共有リンクのメソッドを介して取得したアプリのアクセストークンを使用することができます - これはあなたが達成タイプを読んで、達成タイプを作成し、あなたpublish_actionsの許可 警告:あなたのアプリの設定がネイティブ/デスクトップアプリだと言うなら、アプリの秘密は信頼されず、これは使えません – Igy
悲しいことに、それはうまくいきません。 。 私は何とか2つの成果を得ることができましたが、これはユーザーに引き出して付与することができますが、新しいものを追加したり、何とかして編集したり、削除したりすることはできません。むしろイライラしています。 – Enzo