[tutorial PHP] cara membuat script auto post facebook group Graph API OAUTH
DANNY:
FACEBOOK? siapa yang tak kenal dengan social media ternama ini, seperti halnya twitter. facebook pun menjadi urutan teratas social media terbaik saat ini. sebenarnya apa sih keunggulan social media serta manfaatnya?
sarana pertemanan
sarana penyebaran informasi
sarana marketing
dan masih banyak lagi manfaatnya
lalu kenapa kita membutuhkan script autopost facebook ini? apakah akan berguna? okelah kalo beg-beg-begitu... beberapa hari lalu ane bereksperiment untuk membuat script ini dan diintegrasikan pada script forum ini, alhasil setiap kali terjadi posting maka topic tersebut akan ter-share secara otomatis ke facebook group kami
@moreshare . akhirnya script ini pun mempunyai value yang tinggi diantaranya
efisien (tidak perlu manual post, dan tidak membuang waktu)
informasi terupdate
follower mendapatkan informasi terupdate dari forum ms-room.com ini
new liker dan follower pun datang bertubi-tubi untuk mendapatkan informasi dari sini serta membantu meretweet informasi yang bermanfaat
kita hanya tinggal memantau, tak perlu repot
gimana? cool kaaaaaaaaaan
:D
oke, berikut scriptnya:ga perlu repot, ane udah bikin sesimple mungkin ini script, tinggal ganti bagian ini aja
/*************CONFIG***************/
$EMAIL_FACEBOOK = '';
$PASSWORD_FACEBOOK = '';
$MESSAGE_POST = '';
$GROUP_ID = '';
/**********************************/
/**********************************/
Code:
<?php
/*************CONFIG***************/
$EMAIL_FACEBOOK = '';
$PASSWORD_FACEBOOK = '';
$MESSAGE_POST = '';
$GROUP_ID = '';
/**********************************/
/**********************************/
$cURL = new cURL("fbtokengrup");
$cURL->user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36";
$cURL->timeout = 0;
$form = array();
$form["email"] = $EMAIL_FACEBOOK;
$form["pass"] = $PASSWORD_FACEBOOK;
$read = $cURL->open("https://m.facebook.com/login.php",$form);
$linktokenexplorer = "https://developers.facebook.com/tools/explorer/";
$hasillinktokenexplorer = $cURL->open($linktokenexplorer);
preg_match_all('/"GraphExplorer","init",\[(.*?)],\[(.*?)"(.*?)"/', $hasillinktokenexplorer, $matches);
$token = $matches[3][0];
$postgroup = array();
$postgroup["message"] = $MESSAGE_POST;
$postgroup["access_token"] = $token;
$suksespostgroup = $cURL->open("https://graph.facebook.com/".$GROUP_ID."/feed/",$postgroup);
##############################
class cURL
{
var $user_agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)";
var $proxy_ip = "";
var $proxy_port = 0;
var $proxy_url = "";
var $proxy_type = "";
var $status = 0;
var $error = "";
var $timeout = 30;
var $cookies = "";
var $last_url = "";
var $fix_cookies = false;
function __construct($cookies)
{
if (!$cookies) $cookies = tempnam("./", "CURLCOOKIE");
$this->cookies = $cookies;
}
function open($url,$post="") {
$ch = curl_init();
if ($this->proxy_url != "") $url = str_replace("%s", str_replace("https://","",$url), $this->proxy_url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
if ($post != "") {
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($ch,CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_REFERER, $this->last_url);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookies);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookies);
if ($this->proxy_ip != "") {
curl_setopt($ch, CURLOPT_PROXYPORT, $this->proxy_port);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXY, $this->proxy_ip);
if ($this->proxy_type == "socks") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
}
$data = curl_exec($ch);
$this->status = curl_getinfo($ch,CURLINFO_HTTP_CODE);
$this->error = curl_error($ch);
$this->last_url = $url;
curl_close($ch);
return $data;
}
}
function stringBetween($start, $end, $var)
{
return preg_match('{' . preg_quote($start) . '(.*?)' . preg_quote($end) . '}s', $var, $m)
? $m[1]
: '';
}
?>
silakan anda integrasikan dengan database website anda untuk mendapatkan data yang ingin terpost
moga bermanfaat
regards admin MS-ROOM.COM
mrOBY:
aku nyoba ini ndak berhasil mas..
bagian ini
________________________
var $proxy_ip = "";
var $proxy_port = 0;
var $proxy_url = "";
var $proxy_type = "";
var $status = 0;
var $error = "";
var $timeout = 30;
var $cookies = "";
var $last_url = "";
var $fix_cookies = false;
__________________________________
itu dibiarin kosong gitu apa diisi mas??
mohon pencerahan nya..
DANNY:
script masih berjalan lancar ko,
buktinya postingan terbaru diforum ini lancar auto post ke grup moreshare secara otomatis
semua settingan biarin aja default
config hanya dilakukan sesuai yang ane perintahin diatas
untuk pertanyaan ente diatas itu ga ada masalah, itu cuma fungsi untuk akses site FB secara mobile dengan random IP dan menyimpan cookies ke server ente. jangan lupa gunakan htaccess untuk memblock file cookies nya agar tidak bisa dilihat orang
btw ga working nya dimana nya yah?
mungkin bisa kasih screen shot errornya
mrOBY:
Quote from: DANNY on June 12, 2012, 02:30:17 PM script masih berjalan lancar ko,
buktinya postingan terbaru diforum ini lancar auto post ke grup moreshare secara otomatis
semua settingan biarin aja default
config hanya dilakukan sesuai yang ane perintahin diatas
untuk pertanyaan ente diatas itu ga ada masalah, itu cuma fungsi untuk akses site FB secara mobile dengan random IP dan menyimpan cookies ke server ente. jangan lupa gunakan htaccess untuk memblock file cookies nya agar tidak bisa dilihat orang
btw ga working nya dimana nya yah?
mungkin bisa kasih screen shot errornya
report error sih gak ada sob..
cuman pas script yang agan itu dengan setingan yang sesuai petunjuk koq tetep gak ada status baru ya di fb ane sob..??
apa fb nya harus di logout dulu..??
atau ada script yang harus ditambahin lagi?
harusnya isi mesejnya kan yang $createpostfb kan sob..??
atau gmn nih?? mohon pencerahan nya ..
DANNY:
ok, coba kita pindahin dua config POST nya kedalem fungsi
coba jalanin dan apa hasilnya
config ane tandain pake slash banyak
//////////////////////////////////////////////////////////////////
diantara ini
//////////////////////////////////////////////////////////////////
Code:
<?php
/***********************************
SCRIPT COPYRIGHT WWW.MS-ROOM.COM
COMBINE WITH PUBLISH_STREAM FACEBOOK
COMBINE WITH CURL METHOD
COMBINE WITH OPEN_TOKEN
***********************************/
$cURL = new cURL("testing");
$cURL->user_agent = "Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54";
$cURL->timeout = 0;
$form = array();
//////////////////////////////////////////////////////////////
$form["email"] = "EMAIL_FACEBOOK";
$form["pass"] = "PASSWORD_FACEBOOK";
//////////////////////////////////////////////////////////////
$read = $cURL->open("https://m.facebook.com/login.php",$form);
cektoken();
function cektoken()
{
global $cURL;
$linktokenexplorer = "http://developers.facebook.com/tools/explorer";
$hasillinktokenexplorer = $cURL->open($linktokenexplorer);
preg_match_all("/GraphExplorer\((.*?)\)/", $hasillinktokenexplorer, $matches);
$dapettoken = $matches[1][0];
$tokenasli = explode('", "',$dapettoken);
$token = ereg_replace('"','',$tokenasli[2]);
$deskripsiposting = preg_replace ('/<[^>]*>/', '', $isipesan2);
//////////////////////////////////////////////////////////////////
$createpostfb = 'PESAN_YANGMAU_DIPOSTING';
$idfbc = 'MASUKKAN_ID_FACEBOOK_DISINI';
//////////////////////////////////////////////////////////////////
$postgroup = array();
$postgroup["message"] = $createpostfb;
$postgroup["access_token"] = $token;
echo $suksespostgroup = $cURL->open("https://graph.facebook.com/".$idfbc."/feed/",$postgroup);
}
##############################
class cURL
{
var $user_agent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)";
var $proxy_ip = "";
var $proxy_port = 0;
var $proxy_url = "";
var $proxy_type = "";
var $status = 0;
var $error = "";
var $timeout = 30;
var $cookies = "";
var $last_url = "";
var $fix_cookies = false;
function __construct($cookies)
{
if (!$cookies) $cookies = tempnam("./", "CURLCOOKIE");
$this->cookies = $cookies;
}
function open($url,$post="") {
$ch = curl_init();
if ($this->proxy_url != "") $url = str_replace("%s", str_replace("https://","",$url), $this->proxy_url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
if ($post != "") {
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
curl_setopt($ch,CURLOPT_TIMEOUT, $this->timeout);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_REFERER, $this->last_url);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookies);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookies);
if ($this->proxy_ip != "") {
curl_setopt($ch, CURLOPT_PROXYPORT, $this->proxy_port);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXY, $this->proxy_ip);
if ($this->proxy_type == "socks") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
}
$data = curl_exec($ch);
$this->status = curl_getinfo($ch,CURLINFO_HTTP_CODE);
$this->error = curl_error($ch);
$this->last_url = $url;
curl_close($ch);
return $data;
}
}
?>
Navigation