国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用Facebook的SDK判斷來訪者是否已經按讃并成為本站粉絲團的成員

2019-11-15 01:27:54
字體:
來源:轉載
供稿:網友
使用Facebook的SDK判斷來訪者是否已經按讃并成為本站粉絲團的成員

今天公司裡要做活動,其中有一項活動內容是要求來訪者按一下facebook粉絲團的讃,按了讃之後贈送現金.Facebook被墻大家眾所周知,在百度搜了一下發現因為被墻的原因導致國內涉及到Facebook開發的極少.

Facebook的API說簡單確實很簡單,只需要用iframe放html代碼就行了,但是這次因為涉及到了現金,我不想用curl抓取源碼模糊判斷,那樣很不準確,加上國內極少有關於Facebook的內容,就算是有也主要是新聞一類的,偶爾有幾篇技術文章也是幾年前老掉牙的玩意,現在拿過代碼來根本就不能用,迫於無奈只好啃了一晚上的英文版API手冊,說到手冊順便提一下我們看手冊的時候最容易找到的就是https://developers.facebook.com/docs/reference/php,這個說明中提供了很多內置的方法讓我們直接調用需要的內容,但是因為是facebook預設的因此提供的方法無法滿足很特殊的需求(就像今天我要實現的功能就非常特殊),最終我找到了https://developers.facebook.com/docs/reference/fql/,這裡主要講述facebook的FQL(這玩意很強大,只要你能想到的功能幾乎都能實現,本例就是得益于使用FQL才得以解決)

在丟代碼之前我首先簡單的提一下,要想開發facebook的程序就必須要申請到他的appid和secret,申請方法很簡單從https://developers.facebook.com/apps/?action=create申請就行了,礙於篇幅不再贅述(如果感覺有難度的話可以進我的QQ群223494678討論).有了這兩個玩意之後你還需要下載facebook的SDK才行,下載地址是https://github.com/facebook/facebook-php-sdk,下載之後解壓縮,只拿出src文件夾來就足夠用了,別的都可以刪掉,下邊是代碼,我有逐行加入註釋

<?PHP//調用函數把結果賦值給變數$a=is_Like('213202422194942');if($a[0]===TRUE) {    echo '已經按讃';}else{    echo $a[1];}unset($a);    //釋放變數die();/**    判斷用戶是否已經按讃(粉絲團)    參數:        $pid:int型,粉絲團的id,這個值可以用firebug抓得到,如果不會可以進我的QQ群223494678討論    返回:        array(            0=>bool型,[已經按讃則TRUE;反之FALSE]            1=>str型,當[0]=FALSE時的提示內容        )    用法:        $a=is_Like('213202422194942');        if($a[0]===TRUE) {            echo '已經按讃';        }else{            echo $a[1];        }/**/function is_Like($pid){    if(trim($pid)=='') {return array(FALSE,'粉絲團的ID不可為空!');}    //調用SDK    require('src/facebook.php');    //實例化對象    $FB=new Facebook(array(        'appId' => '填寫你申請到的內容',        'secret' => '填寫你申請到的內容',        'cookie' => true,    ));    //如果對象建立失敗    if(!is_object($FB)) {        unset($FB);        return array(FALSE,'加載Facebook的API失敗!');    }    //提取當前來訪者id    $uid = $FB->getUser();    if(!$uid) {    //如果id提取失敗,則要求用戶登錄        $r=array(FALSE,'<a href="'.$FB->getLoginUrl(array('scope'=>'publish_stream')).'">點擊登入</a>');    }else{        //如果id提取成功        //用FQL查詢該用戶在page_fan表內是否有關注id=213202422194942的粉絲頁        $fql=$FB->api(array('method' => 'fql.query','query' => 'SELECT page_id from page_fan where page_id="'.$pid.'" and uid='.$uid.''));        if(is_array($fql) and isset($fql[0]['page_id']) and trim($fql[0]['page_id'])!='') {            $r=array(TRUE,'');        }else{            $r=array(FALSE,'尚未按讃!');        }    }    //釋放變數    unset($pid,$fql,$uid,$FB);    return $r;}

希望此文能起到拋磚引玉的作用


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳泉市| 仁布县| 兴业县| 鄂伦春自治旗| 孝昌县| 衡东县| 二连浩特市| 武城县| 久治县| 喀喇| 定远县| 合川市| 沿河| 西城区| 台中县| 英吉沙县| 苏州市| 拜城县| 砚山县| 清徐县| 墨玉县| 长岭县| 五指山市| 孟州市| 闽侯县| 平罗县| 西乌珠穆沁旗| 浮山县| 舟山市| 新民市| 博客| 财经| 堆龙德庆县| 平潭县| 中江县| 志丹县| 北票市| 大宁县| 克什克腾旗| 廉江市| 郧西县|