終於把三個社群網站的驗證都做完了,接著驗證完成之後就可以開始做發文的動作,接下來為
了要讓使用者可以發文所以簡單的用了資料庫做了一個會員系統,讓使用者在註冊之後經過授
權之後會將之前處理好的token存入資料庫,如此一來只要使用者登入進來就可以從資料庫讀取
token進行發文的動作,這次是先將各個社群網站的發文分開,確定使用者可以透過此平台發布
之後,才將三個整合起來,
寫入資料庫以twitter舉例:
之前說選擇了tmhOauth這個library,在auth.php這個上面先加上連入資料庫的程式碼
<?php
session_start();
include("../../mysql_connect.inc.php");
$id = $_SESSION['id'];
?>
利用SESSION來傳遞用來識別使用者,TWITTER做完OAUTH回傳的會是這個
$_SESSION['access_token'],但是包了兩層token跟token_secret在下一層,分別是
$_SESSION['access_token']['oauth_token'];
$_SESSION['access_token']['oauth_token_secret'];
最後在下一段sql語法把這兩個值存進去資料庫就可以了。
貼文的部分也和上面一樣最上面也是加入連入資料庫的程式碼,
tmhOAUTH的發文是TWEET.PHP 如果要發佈英文以外的話要先將檔案編成utf8否則會變成亂
碼,之後下一段sql把token跟token_secret從資料庫取出,傳入php就可以跑了
$tmhOAuth = new tmhOAuth(array(
'consumer_key' => 'your_key',
'consumer_secret' => ' your_secret',
'user_token' => 從資料庫抓取出來的token,
'user_secret' => 從資料庫抓取出來的secret,
));
$code = $tmhOAuth->request('POST', $tmhOAuth->url('1/statuses/update'), array(
'status' => $message
));
下一次要把三個社群網站的發文合成一段。
2012年4月15日 星期日
2012年4月1日 星期日
Note3
這禮拜終於把 twitter 和 plurk 的驗證部分做完了,
OAuth的驗證過程在社群網站都會有提示
這個是twitter的流程,分成三個步驟:
1.Request token https://api.twitter.com/oauth/request_token 流程和這串網址要求成功後會回傳幾個參數,但是只有oauth_token和oauth_token_secret在後面會使用到。
2.Authorize 拿到oauth_token之後必須將使用者導向https://api.twitter.com/oauth/authorize?oauth_token= 並且使用者同意之後便會回傳oauth_token及oauth_verifier並導向第一個步驟傳給伺服器的call_back網址。
3.Access_token 利用oauth_token及oauth_verifier向Access_token https://api.twitter.com/oauth/access_token 的網址要求,最後轉換成oauth_token及oauth_token_secret就完成了。
Twitter我選擇了 TmhOAuth 這個library,
首先到example裡面的auth.php裡面把Consumer Key及Consumer Secret填上,到伺服器上面去執
行之後進入 Sign in with Twitter 這個連結,待使用者授權後導回同一個網頁之後,oauth_token
和oauth_token_secret會在$_SESSION['access_token']這個陣列裡面取出來之後,填到tweet.php裡
面就可以做發布的動作,利用這組access_token可以做其他的事情,可以參考twitter 的網頁
https://dev.twitter.com/docs/api
Plurk方面沒得選..只有 plurkoauth https://github.com/clsung/plurkoauth ,
但是在這個library裡面我真的不會使用,他oauth的驗證流程我嘗試了好久怎麼用都是失敗,
只能一直上網查範例,用plurk api的人似乎沒有很多,而且感覺比較多是用pyhon寫的比較多
最後找了很多的oauth php的library來使用,但是都失敗,不曉得是不是我不會用的關係,就是
一直失敗,找了好久終於找到了一個方法,用php的擴展Windows下直接在這邊http://downloads.php.net/pierre/依照自己的版
本下載dll檔然後再到php.ini裡面打開他,完成了oauth的部分,步驟都和twitter差不多,之後再
回到library裡面直接填上最後得到的那組 oauth_token和oauth_token_secret 就能夠發文了,
另外他也和twitter一可以有其他的選擇,而且他還有提供測試工具,非常的方便!其他的功能
可以從這邊看 http://www.plurk.com/API 測試工具的部分,申請玩consumer key及consumer
secret 之後在應用程式那邊就會看到了。
雖然最後找到擴展,但是想使用到twitter卻也沒辦法成功,不曉得問題出在哪裡,
接下來要開始測試和資料庫的結合了。
OAuth的驗證過程在社群網站都會有提示
這個是twitter的流程,分成三個步驟:
1.Request token https://api.twitter.com/oauth/request_token 流程和這串網址要求成功後會回傳幾個參數,但是只有oauth_token和oauth_token_secret在後面會使用到。
2.Authorize 拿到oauth_token之後必須將使用者導向https://api.twitter.com/oauth/authorize?oauth_token= 並且使用者同意之後便會回傳oauth_token及oauth_verifier並導向第一個步驟傳給伺服器的call_back網址。
3.Access_token 利用oauth_token及oauth_verifier向Access_token https://api.twitter.com/oauth/access_token 的網址要求,最後轉換成oauth_token及oauth_token_secret就完成了。
Twitter我選擇了 TmhOAuth 這個library,
首先到example裡面的auth.php裡面把Consumer Key及Consumer Secret填上,到伺服器上面去執
行之後進入 Sign in with Twitter 這個連結,待使用者授權後導回同一個網頁之後,oauth_token
和oauth_token_secret會在$_SESSION['access_token']這個陣列裡面取出來之後,填到tweet.php裡
面就可以做發布的動作,利用這組access_token可以做其他的事情,可以參考twitter 的網頁
https://dev.twitter.com/docs/api
Plurk方面沒得選..只有 plurkoauth https://github.com/clsung/plurkoauth ,
但是在這個library裡面我真的不會使用,他oauth的驗證流程我嘗試了好久怎麼用都是失敗,
只能一直上網查範例,用plurk api的人似乎沒有很多,而且感覺比較多是用pyhon寫的比較多
最後找了很多的oauth php的library來使用,但是都失敗,不曉得是不是我不會用的關係,就是
一直失敗,找了好久終於找到了一個方法,用php的擴展Windows下直接在這邊http://downloads.php.net/pierre/依照自己的版
本下載dll檔然後再到php.ini裡面打開他,完成了oauth的部分,步驟都和twitter差不多,之後再
回到library裡面直接填上最後得到的那組 oauth_token和oauth_token_secret 就能夠發文了,
另外他也和twitter一可以有其他的選擇,而且他還有提供測試工具,非常的方便!其他的功能
可以從這邊看 http://www.plurk.com/API 測試工具的部分,申請玩consumer key及consumer
secret 之後在應用程式那邊就會看到了。
雖然最後找到擴展,但是想使用到twitter卻也沒辦法成功,不曉得問題出在哪裡,
接下來要開始測試和資料庫的結合了。
訂閱:
文章 (Atom)