text Fb Api

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text Fb Api相关的知识,希望对你有一定的参考价值。

<?php 
require_once get_template_directory().'/Facebook/autoload.php';
if ( !function_exists('media_handle_upload') ) {
    require_once(ABSPATH . "wp-admin" . '/includes/image.php');
    require_once(ABSPATH . "wp-admin" . '/includes/file.php');
    require_once(ABSPATH . "wp-admin" . '/includes/media.php');
}
global $wpdb;
$current_url = home_url(add_query_arg(array(),$_SERVER['REQUEST_URI']));
if (isset($_GET['act']) && $_GET['act']=='fbapp_edit' && isset($_GET['id'])) {
    $errors = '';
    $id = $_GET['id'];
    $sql_prep = $wpdb->prepare("SELECT * FROM ".$wpdb->prefix."fbapp WHERE ID = %s", $id);
    $record = $wpdb->get_row($sql_prep, OBJECT);
    $fbapp_id = $record->fbapp_id;
    $fbapp_name = $record->fbapp_name;
    $fbapp_secret = $record->fbapp_secret;
    $fbapp_userid = $record->fbapp_userid;
    $fbapp_token = $record->fbapp_token;    
    $fbapp_pages = $record->fbapp_pages;
    $fbapp_page_crawler = $record->fbapp_page_crawler;
    $fbapp_get_type = $record->fbapp_get_type;
}
if (isset($_POST['save_record'])) {
	$fbapp_id = $_POST['fbapp_id'];
    $fbapp_name = $_POST['fbapp_name'];
	$fbapp_secret = $_POST['fbapp_secret'];
	$fbapp_userid = $_POST['fbapp_userid'];
    $fbapp_token = $_POST['fbapp_token'];
    $fbapp_pages = $_POST['fbapp_pages'];
    $fbapp_page_crawler = $_POST['fbapp_page_crawler'];
    $fbapp_get_type = $_POST['fbapp_get_type'];
	$fields = array();
	$fields['fbapp_id'] = $fbapp_id;
    $fields['fbapp_name'] = $fbapp_name;
	$fields['fbapp_secret'] = $fbapp_secret;
	$fields['fbapp_userid'] = $fbapp_userid;
    $fields['fbapp_token'] = $fbapp_token;
    $fields['fbapp_pages'] = $fbapp_pages;
    $fields['fbapp_page_crawler'] = $fbapp_page_crawler;
    $fields['fbapp_get_type'] = $fbapp_get_type;
	$where = array('ID'=>$_GET['id']);
	$updated = $wpdb->update($wpdb->prefix.'fbapp', $fields, $where);
	if($updated){
		wp_redirect(get_page_link('settings'));die;
	}
}
if(isset($_POST['fb_auth'])){
    $my_url=urlencode('http://it.thietkewebwp.info/settings/?act=fbapp_edit&id=1');
    $fbapp_session_state = md5(uniqid(rand(), TRUE));
    setcookie("fbapp_session_state",$fbapp_session_state,"0","/");
    $dialog_url = "https://www.facebook.com/".FBAP_FB_API_VERSION."/dialog/oauth?client_id="
                . $fbapp_id . "&redirect_uri=" . $my_url . "&state="
                . $fbapp_session_state . "&scope=email,public_profile,publish_pages,user_posts,publish_actions,manage_pages";
    wp_redirect($dialog_url);
    die;
}
if(isset($_COOKIE['fbapp_session_state']) && isset($_REQUEST['state']) && ($_COOKIE['fbapp_session_state'] === $_REQUEST['state'])) :    
    $my_url=urlencode('http://it.thietkewebwp.info/settings/?act=fbapp_edit&id=1');
    $code = $_REQUEST["code"];
    $token_url = "https://graph.facebook.com/".FBAP_FB_API_VERSION."/oauth/access_token?"
    . "client_id=" . $fbapp_id . "&redirect_uri=" . $my_url
    . "&client_secret=" . $fbapp_secret . "&code=" . $code;

    $params = null;$access_token="";
    $response = wp_remote_get($token_url);

    if(is_array($response))
    {
        if(isset($response['body']))
        {
            parse_str($response['body'], $params);            
            
            if(isset($params['access_token'])){$access_token = $params['access_token'];}
        }
    }
    
    if($access_token!=""){      
        $fields = array();
        $fields['fbapp_token'] = $access_token;
        $where = array('ID'=>$_GET['id']);
    
        $updated = $wpdb->update($wpdb->prefix.'fbapp', $fields, $where);
        // if($updated){
        //     wp_redirect(get_page_link('settings'));die;
        // }
    }
endif;

if(isset($_POST['pubthoi']) && !empty($_POST['postLink_link'])){
	// wp_delete_post(304);
	$fbapp_page = explode('-',$fbapp_pages);	
	$fb = new Facebook\Facebook([
	    'app_id' => $fbapp_id,
	    'app_secret' => $fbapp_secret,
	    'default_graph_version' => 'v2.4',
	    'default_access_token' => isset($fbapp_page[1]) ? $fbapp_page[1] : '1044300938965725|ca1da3267aca55b7b6c00494e9ac19c6'
	]);
	// echo '<pre>';
	// var_dump($_POST);
	// echo '</pre>';
	// die;
	$linkData = [
		'link' => $_POST['postLink_link'],		
		'message' => !empty($_POST['postLink_message']) ? $_POST['postLink_message'] : '',
		'name' => !empty($_POST['postLink_name']) ? $_POST['postLink_name'] : '',
		'caption' => !empty($_POST['postLink_caption']) ? $_POST['postLink_caption'] : "yan.vn | Bởi YAN News",
		'description' => !empty($_POST['postLink_description']) ? $_POST['postLink_description'] : '',
		'picture' => !empty($_POST['postLink_picture']) ? $_POST['postLink_picture'] : '',	
        // 'with_tags'=>'https://www.facebook.com/tuoitre.newspaper',
	];
	try {
   		$response = $fb->post('/'.$fbapp_page[0].'/feed', $linkData,$fbapp_page[1]);
	}catch (Facebook\Exceptions\FacebookResponseException $e) {
   	// When Graph returns an error
   		echo 'Graph returned an error: ' . $e->getMessage();
   		exit;
	}catch (Facebook\Exceptions\FacebookSDKException $e) {
   		// When validation fails or other local issues
   		echo 'Facebook SDK returned an error: ' . $e->getMessage();
   		exit;
	}
}

?>
<form method='POST' action='' class="settings">
    <div class="row">
        <div class="col-sm-6">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">Facebook Settings</h3>
                </div>
                <div class="panel-body">
                	<div class="form-group">
	                    <label for="">Fanpage</label>
	                    <input type="text" name="fbapp_name" class="form-control" placeholder="Facebook Fanpage" value="<?php echo $fbapp_name; ?>">
	                </div>
	                <div class="form-group">
	                    <label for="fbapp_id">Application id</label>
	                    <input type="text" name="fbapp_id" class="form-control" id="fbapp_id" placeholder="Facebook app ID" value="<?php echo $fbapp_id; ?>" />
	                </div>
	                <div class="form-group">
	                    <label for="fbapp_secret">Application secret</label>
	                    <input type="text" name="fbapp_secret" class="form-control" id="fbapp_secret" placeholder="Facebook app Secret" value="<?php echo $fbapp_secret; ?>"/>
	                </div>
	                <div class="form-group">
	                    <label for="fbapp_user">Facebook user id</label>
	                    <input type="text" name="fbapp_userid" class="form-control" id="fbapp_userid" placeholder="Facebook user id" value="<?php echo $fbapp_userid; ?>"/>
	               	</div>
                </div>
            </div>
        </div><!-- /.col-sm-6 -->
        <div class="col-sm-6">
        	<div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">Facebook Settings</h3>
                </div>
                <div class="panel-body">
                	<div class="form-group">
	                    <input type="submit" class="submit_fbap_new" name="fb_auth" value="Reauthorize" title="Reauthorize the account">
	                    <textarea class="form-control" name="fbapp_token" id="code_access" cols="30" rows="4"><?php echo $fbapp_token; ?></textarea>
	                </div>
                   	<div class="form-group">
                    <?php if(!empty($fbapp_token)): 
                        echo '<label for="">Select facebook pages</label>';
                        $offset = 0;
                        $limit = 100;
                        $data = array();
                        do {
                            $result1 = "";
                            $pagearray1 = "";
                            $pp = wp_remote_get("https://graph.facebook.com/" . FBAP_FB_API_VERSION . "/me/accounts?access_token=$fbapp_token&limit=$limit&offset=$offset");                      
                            if (is_array($pp)) {
                                $result1 = $pp['body'];
                                $pagearray1 = json_decode($result1);
                                if (is_array($pagearray1->data))
                                    $data = array_merge($data, $pagearray1->data);
                            } else
                                break;
                            $offset += $limit;
                        }while (isset($pagearray1->paging->next));
                        $count = count($data);
                        $fbap_pages_ids0 = array();
                        if ($fbapp_pages != "") $fbap_pages_ids0 = explode(",", $fbapp_pages);
                        $fbap_pages_ids = array();
                        for ($i = 0; $i < count($fbap_pages_ids0); $i++) {
                            if ($fbap_pages_ids0[$i] != "-1")
                                $fbap_pages_ids[$i] = trim(substr($fbap_pages_ids0[$i], 0, strpos($fbap_pages_ids0[$i], "-")));
                            else
                                $fbap_pages_ids[$i] = $fbap_pages_ids0[$i];
                        }
                        ?>
                        <select class="form-control" name="fbapp_pages">
                            <option value="-1" <?php if (in_array(-1, $fbap_pages_ids)) echo "selected" ?>>Profile Page</option>
                            <?php for ($i = 0; $i < $count; $i++): ?>
                            <option value="<?php echo $data[$i]->id . "-" . $data[$i]->access_token; ?>" <?php if (in_array($data[$i]->id, $fbap_pages_ids)) echo "selected" ?>><?php echo $data[$i]->name; ?></option>
                            <?php endfor; ?>
                        </select>
                        <?php endif; ?>
                    </div>
                    <div class="form-group">
	                    <label for="fbapp_page_crawler">Page Get Data</label>
	                    <input type="text" name="fbapp_page_crawler" class="form-control" id="fbapp_page_crawler" placeholder="Facebook Fanpage Crawler" value="<?php echo $fbapp_page_crawler; ?>" />
	                </div>
                    <label for="">Loại tin cần lấy</label>
                    <div class="form-group">
                    	<label class="checkbox-inline">
                    		<input <?php if($fbapp_get_type=='all') echo 'checked=checked'; ?> type="checkbox" name="fbapp_get_type" value="all"> Tất cả
                    	</label>
                    	<label class="checkbox-inline">
                    		<input <?php if($fbapp_get_type=='video') echo 'checked=checked'; ?> type="checkbox" name="fbapp_get_type" value="video"> Video
                    	</label>
                    	<label class="checkbox-inline">
                    		<input <?php if($fbapp_get_type=='photo') echo 'checked=checked'; ?> type="checkbox" name="fbapp_get_type" value="photo"> Photo
                    	</label>
                    	<label class="checkbox-inline">
                    		<input <?php if($fbapp_get_type=='status') echo 'checked=checked'; ?> type="checkbox" name="fbapp_get_type" value="status"> Status
                    	</label>
                    	<label class="checkbox-inline">
                    		<input <?php if($fbapp_get_type=='link') echo 'checked=checked'; ?> type="checkbox" name="fbapp_get_type" value="link"> Gif
                    	</label>
                    </div>

                </div>
            </div>
            
        </div>
    </div>
    <div class="row">
	    <div class="col-sm-6">
	    	<div class="panel panel-default">
		    		<div class="panel-body">
				<input type="hidden" name="postType" id="postType" value="link">
					<div class="formField">
						<label for="message">Message <a href="#" data-toggle="tooltip" data-placement="top" style="float:right" title="" data-original-title="Spinning example : {Hello|Howdy|Hola} to you, {Mr.|Mrs.|Ms.} {foo|bar|foobar}!!"><span class="glyphicon glyphicon-question-sign"></span></a></label>
						<textarea name="message" id="message" rows="3" cols="50" class="form-control" placeholder="Your status here..."></textarea>
						
					</div>

					<div id="postLinkDetails" style="">
						<div class="formField">
							<label for="link">Link</label>
							<input type="text" name="postLink_link" id="link" class="form-control" value="" placeholder="Post link here.">
						</div>
						<div class="formField">
							<label for="picture">Picture</label>
							<input type="text" name="postLink_picture" id="picture" class="form-control" value="" placeholder="Post picture here.">
						</div>
						<div class="formField">
							<label for="name">Name</label>
							<input type="text" id="name" name="postLink_name" class="form-control" value="" placeholder="Post name here.">
						</div>
						<div class="formField">
							<label for="caption">Caption</label>
							<input type="text" name="postLink_caption" id="caption" class="form-control" value="" placeholder="Post Caption here.">
						</div>
						<div class="formField">
							<label for="description">Description</label>
							<textarea name="postLink_description" id="description" rows="3" cols="50" class="form-control" placeholder="Post description here."></textarea>
						</div>
					</div>
					<br>
					<div class="formField">
						<button type="submit" class="btn btn-primary" id="post" name="pubthoi">
							<span class="glyphicon glyphicon-send"></span> Send 
						</button>
						<span class="messageBox"></span>
					</div>
				</div>
	    	</div>
	    </div>
	</div>
    <button type="submit" name="pubthoi">Pub thoi</button>
    <button type="submit" name="submit_page">Submit</button>
    <input type="submit" name="save_record" value="Save change" class="btn btn-primary" />
</form>

以上是关于text Fb Api的主要内容,如果未能解决你的问题,请参考以下文章

在 Fb.api 回调中拉出外部变量

我可以同时使用 FB iOS SDK 和 FB Graph API 来检索 FB 好友列表吗?

text FB50中的Inserimento nuovo campo(posizioni - 表格控制)

通过图形 api 方法 fb.api() 获取页面的选项卡并将选项卡添加到 facebook 页面会导致错误

使用Ionic登录fb的Rails API

构建 FB.api 查询时遇到问题