作者clubflymf (clubfly)
看板PHP
標題Re: [請益] Plurk 的 API
時間Mon Feb 8 10:11:03 2010
目前plurk官方api只提供了python 跟 java 兩版的範例
php版本要自己動手寫嚕
plurk api回傳的都是json格式
因此在篆寫前請檢查 php json 有沒有安裝,
使用環境
Linux + Apache + PHP5 ( JSON + curl )
給個範例當參考
<?php
$api_key = 'XXXXXXX';//填寫申請的api_key
$username = 'XXXX';//plurk使用者帳號
$password = 'xxxx';//plurk使用者密碼 (不用加密)
//plurk 動作涵式
function plurk_act($target_url,$type,$data,$cookie_file){
$ch = curl_init();
if ($type = 'GET'){ // 方法get 不再說明
$target_url = http_build_query($data);// php5 才有的內建函式
curl_setopt($ch,CURLOPT_URL,$target_url);
} else { // 方法post 不再說明
curl_setopt($ch,CURLOPT_URL,$target_url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELD,http_build_query($data));
}
if (isset($cookie_file)){
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);// 建立plurk的cookie
curl_seropt($ch,CURLOPT_COOKIEFILE,$cookie_file);// 存入plurk_cookie
}
$result = curl_exec($ch);//執行curl 將回傳結果用result變數接取
$curl_close($ch);// 關閉curl連線
return json_decode($result);// 回json 格式 陣列
}
//登入使用者
echo '<pre>';
print_r( plurk_act( '
http://www.plurk.com/API/Users/login',
'POST',
array( 'api_key' => $api_key,
'username' => $username,
'password' => $password
),
'/tmp/plurk_cookie' //必備cookie 不然無法發文..等等
)
);// plurk login
echo '</pre>';
//發plurk
echo '<pre>';
print_r( plurk_act( '
http://www.plurk.com/API/Timeline/plurkadd',
'POST',
array( 'api_key' => $api_key,
'qualifier' => 'likes', // love.shares等等心情
'content' => 'api_test' // 發plurk內容,可以自己改
),
'/tmp/plurk_cookie'
)
);
echo '</pre>';
?>
其它api使用方式請參考plurk官方api列表並修改 array 參數即可
可自己改寫成class或符合當下使用的方式
※ 引述《chuyk (灌溉與耕耘)》之銘言:
: 請問一下~
: http://www.plurk.com/API
: 從上面下載 php-plurk-api_1.4.1
: 解壓縮後~
: 在 example.php 裡加上了申請的 api 還有我的帳號密碼
: 接著執行 http://網址/example.php
: 卻是一片空白... 為什麼呢?
: 裡面明明有預設底下的程式碼,顯示20則噗
: echo "\n\n ----- get plurks ----- \n";
: print_r($plurk->get_plurks(NULL, 20, NULL, NULL, NULL));
: 難道官方提供的範例其實還要做其它的處理嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
→ chrisQQ:雖然很簡單,不過應該不用這麼累吧@@ php-plurk-api 02/08 11:09
→ chrisQQ:很好用啊ˇˇ 02/08 11:09
→ clubflymf:基本丈原理一樣都是官方API但自己整理出來比較不會忘記 02/08 11:42
推 danial:我就是直接用 php-plurk-api 一片空白耶... 02/08 14:19
推 chrisQQ:要不要先試著把 php 的 error msg 都顯示? 02/08 15:03
推 chrisQQ:請先確定您有安裝 php-curl 的套件,另外如果您不是使用 02/08 15:08
→ chrisQQ:cli 來執行的話,請記得拿掉首行的 #!/usr/bin/php5 02/08 15:08
→ chrisQQ:我剛剛更新到 svn 108 是可以正常執行的 02/08 15:10
推 danial:我看 curl 是 enable 的~ 02/08 15:27
→ danial:svn 108 是什麼東西? 02/08 15:27
推 danial:php 的 error msg 如何讓它顯示? 02/08 15:30
→ danial:執行後網頁只出現一行字 #!/usr/bin/php5 02/08 15:31
→ clubflymf:建議您試著拿範例跑跑看 了解後再用PHP-PLURK-API 02/08 15:33
→ chrisQQ:#!/usr/bin/php5 是 cli 用的,網頁用請移除那行。 02/08 20:15
→ chrisQQ:php error msg 顯示方法可以 google,svn 108 指的是 02/08 20:16
→ chrisQQ:使用 svn 去取得 108 的版本,會比包起來的壓縮檔新一點 02/08 20:16
→ chrisQQ:不過理論上是可以正常運作的。 02/08 20:17
→ changyy:感謝你的分享 :D 04/23 15:17