![](/img/trans.png)
[英]Facebook-sdk Gives “(#200) The user hasn't authorized the application to perform this action” on auto post with codeigniter
[英]Create Auto-POST by Facebook-SDK
我想在我的網站上啟用Facebook Auto Post。
首先,我創建了一個應用程序,然后按照我使用用於PHP的facebook-sdk的facebook文檔,將APP-ID和APP-SECRET插入,創建了LOGIN-URL並...(我的腳本中的所有內容均如此),但是我還是有問題!
問題是:
用戶首次訪問我的頁面時,他會看到登錄鏈接。 當他單擊它時,他將重定向到Facebook對話框頁面,以允許應用程序活動。 之后,當facebook將用戶重定向到我的畫布頁面時,他再次看到登錄鏈接! (似乎getUser()函數在我的腳本中無法正常工作!)。
基於facebook指南,用戶必須查看用戶個人資料詳細信息...但是登錄鏈接仍然可見。
我該如何解決這個問題...?
<?php
require_once("libs/facebook.php");
$config = array(
'appId' => 'XXXX',
'secret' => 'XXXX'
);
$fbConnect = new Facebook($config);
$user_id = $fbConnect->getUser();
if($user_id)
{
try {
$userProfile = $fbConnect->api('/me', 'GET');
echo "Name: " . $userProfile['name'];
} catch (FacebookApiException $e) {
$loginUrl = $fbConnect->getLoginUrl();
echo "<a href='" . $loginUrl . "'>LOGIN 2</a>";
}
}
else
{
$loginUrl = $fbConnect->getLoginUrl(array( 'scope' => 'publish_stream' ));
echo "<a href='" . $loginUrl . "'>LOGIN 1</a>";
}
?>
用戶總是看到“ LOGIN 1”! 這意味着$ user_id始終為null(在應用允許活動之前和之后)! 應用允許后(當用戶首次單擊loginUrl鏈接時),我的網址查詢字符串中包含“狀態”和“代碼”! 但是仍然可以看到“ LOGIN 1”!
我想您想發布一條消息,例如“ 嘿,我現在正在使用Aref的超棒Facebook應用程序 ”,對嗎?
這可以通過以下幾行完成:
<?php
require_once("/FBAPI/src/facebook.php");
$config = array();
$config['appId'] = 'your_app_id';
$config['secret'] = 'your_app_secret';
$facebook = new Facebook($config);
$user = $facebook->getUser();
if(!$user){
$loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream', 'redirect_uri'=>'http://www.example.com'));
}
if($user){
try{
$user_profile = $facebook->api('/me');
$access_token = $facebook->getAccessToken();
$vars = array(
'caption' => 'Aref\'s Facebook Application',
'message' => 'Hey guys, I am now using Aref\'s superawsome Facebook App :D',
'name' => 'Test',
'link' => 'http://www.example.com',
'description' => 'Aref\'s Facebook Canvas App',
'picture' => 'http://fbrell.com/f8.jpg'
);
$result = $facebook->api('/me/feed', 'post', $vars);
if($result){
echo "Post was set";
}
else{
echo "Error!";
}
}
catch(FacebookApiException $e){
error_log($e);
$user = NULL;
}
}
else{
echo '<a href="'.$loginUrl.'"><img src="img/login.png"/></a>';
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.