how to display facebook inbox messages without user session
Posted: Fri Jun 27, 2014 5:06 am
Hi everyone
I am trying to display facebook inbox messages by using fql queries.
this is my code
Thanks in advance
I am trying to display facebook inbox messages by using fql queries.
this is my code
Code: Select all
<?php
include_once("config.php");
$username=$_SESSION['UserName'];
$conn = mysql_connect('localhost','xxxxxxxx','xxxxxxxx');
if(!$conn) {
die("MySQL connection failed: ". mysqli_connect_error());
}
$sql = "select fb_userid from `tb_integration`
where Username='$username' and Status='Active' and Integrationype='facebook' ";
mysql_select_db('omniveacrm');
$retval = mysql_query( $sql);
if(!empty($retval))
{
try
{
echo "<br>";
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
$fb_userid="{$row[0]}";
$multiQuery = array(
"query1"=>"SELECT thread_id, subject, updated_time, parent_message_id, message_count, snippet, object_id, unread, viewer_id FROM thread WHERE folder_id = '0' AND viewer_id='$fb_userid'",
"query2"=>"SELECT message_id,author_id,body,viewer_id, thread_id FROM message WHERE thread_id IN (SELECT thread_id FROM #query1)",
"query3"=>"SELECT name, uid,pic FROM user WHERE uid IN (SELECT author_id FROM #query2)",
);
$param = array(
'method' => 'fql.multiquery',
'queries' => $multiQuery,
'callback' => ''
);
$queryresults = $facebook->api($param);
print_r($queryresults);
$bold="bold";
Color="activecaption";
foreach($queryresults[0]['fql_result_set'] as $thread){
foreach($queryresults[1]['fql_result_set'] as $message){
$message_ = $message;
foreach($queryresults[2]['fql_result_set'] as $name){
if($name['uid'] == $message['author_id']){
$name_ = $name;
$profilepic1=$name["pic"];
echo '<div style="float:'.left.'">';
echo '<img src="'.$profilepic1.'" width="40" height="30" />';
echo '</div>';
echo '<div style="Color:'.$Color.'">'.$name["name"].'</div>';
echo $message["body"];
echo "<img src='images/facebookmesgs.png' align='right'/>";
}
}
}
}
}
}
catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
$fbuser = null;
}
}
else
{
include_once("fbconfig.php");
if ($fbuser) {
try {
$user_profile = $facebook->api('/me');
$fql_query = 'SELECT page_id, name, page_url FROM page WHERE page_id IN (SELECT page_id FROM page_admin WHERE uid='.$fbuser.')';
$postResults = $facebook->api(array( 'method' => 'fql.query', 'query' => $fql_query ));
$bold="bold";
$result = array();
$result1 = $fql_query[0];
$Color="activecaption";
} catch (FacebookApiException $e) {
echo $e->getMessage();
$fbuser = null;
}
}else{
$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope'=>$fbPermissions));
echo '<a href="'.$loginUrl.'"><img src="images/facebook.png" border="0"></a>';
$fbuser = null;
}
if($fbuser && empty($postResults))
{
$loginUrl = $facebook->getLoginUrl(array('redirect_uri'=>$homeurl,'scope'=>$fbPermissions));
echo '<br />Could not get your page details!';
echo '<br /><a href="'.$loginUrl.'">Click here to try again!</a>';
}elseif($fbuser && !empty($postResults)){
?>
<?php
foreach($postResults as $postResult){
$page_id= $postResult['page_id'];
$facebook="facebook";
$status="Active";
$username=$_SESSION['UserName'];
$conn = mysql_connect('localhost','omniveacrm','omniveacrm@123');
if(!$conn) {
die("MySQL connection failed: ". mysqli_connect_error());
}
$sql = "INSERT INTO `tb_integration`(Integrationype,Username,Password,Status,page_id,fb_userid,CreatedOn)
values
('{$facebook}','{$_SESSION['UserName']}',{$_SESSION['Password']}','{$status}','{$page_id}','{$fbuser}',now())";
mysql_select_db('omniveacrm');
$result1 = mysql_query( $sql);
if($result1) {
}
else {
echo 'Error! Failed to insert the file'
. "<pre>{$conn->error}</pre>";
}
echo '<a href="fbmessages.php"><img src="images/facebook.png" border="0"></a>';
?>
<?php
}
}
}
?>