こんにちわ、私は、現在PHPでfacebook SDKを使って、
自動投稿を視野に入れた、プログラムを製作しております。
投稿時にaccess_tokenが必要になるので、まずは、ログインをして
値を取得したいと考えて製作しておりました。
しかしながら、以下のようなエラーが出てしまい、ログインができません。
webで調べた限りでは、SDKのバージョンの古さや有効な「OAuthリダイレクトURL」の
値の間違えや記入をしていなかったなどで、解決されている方がいますが
私のケースでは、解決できませんでした。
コードは、以下のようになっております。
PHP
1<?php 2session_start(); 3 4ini_set( 'display_errors', 1 ); 5ini_set( 'error_reporting', E_ALL ); 6 7// アプリのApp ID 8define('MY_APP_ID', 'xxxxxxxxxxxx'); 9// アプリのApp Secret 10define('MY_APP_SECRET', 'xxxxxxxxxxxx'); 11// autoload.phpの場所(パス)を記載 12require_once __DIR__ . '/php-graph-sdk-5.x/src/Facebook/autoload.php'; 13 14$fb = new Facebook\Facebook(array('app_id' => MY_APP_ID, 'app_secret' => MY_APP_SECRET, 'default_graph_version' => 'v2.9')); 15$helper = $fb->getRedirectLoginHelper(); 16 17if(isset($_GET['code'])){ 18 try { 19 $access_token = $helper->getAccessToken(); 20 } catch(Facebook\Exceptions\FacebookResponseException $e) { 21 echo 'Graph returned an error: ' . $e->getMessage(); 22 exit; 23 } catch(Facebook\Exceptions\FacebookSDKException $e) { 24 echo 'Facebook SDK returned an error: ' . $e->getMessage(); 25 exit; 26 } 27 28 if (isset($access_token)) { 29 var_dump($fb->get('/me/accounts', $access_token)); 30 } 31} else { 32 $this_url = (empty($_SERVER['HTTPS'])?'http://':'https://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 33 $permissions = array('manage_pages', 'publish_pages'); 34 $login_url = $helper->getLoginUrl($this_url, $permissions); 35 echo '<a href="' . $login_url . '">Log in with Facebook!</a>'; 36} 37
参考URL>
Facebook SDK v5 for PHPを使ってFacebookページに自動投稿する方法
「このURLのドメインはアプリのドメインに含まれていません」のエラーが出る。
FaceBookログインがエラーが発生。SDKのバーションをv5.6系に上げて解決。
SDK:php-graph-sdk-5.x
https://github.com/facebook/php-graph-sdk
また、他におかしいと思われる部分が
グラフAPIエクスプローラにて、access_tokenを取得してみようと
me/accountsで取得してみたところ以下のような返り値で値がありませんでした。
どなたか原因がお分かりになる方いらっしゃいますでしょうか?
ご教授よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。