分類
程式技術

使用Facebook FQL查詢留言資料

用 Facebook 的網頁/網站很多, 應該是已經過了大流行的階段, 但是使用 Facebook 的地方還是很多, 如何利用程式將公開性的 Facebook 資料找查出來, 有方便好用的工具可供應用, 就是使用 FQL 查詢. 這裡介紹一般常用在網頁上留言的資料, Comment Plugin, 查找留言資訊.

先來看這篇: https://developers.facebook.com/docs/reference/fql/comment

這篇介紹 FQL 的 comment 資料查找方式, 我們以這個網頁作為例子:
http://sample.diary.tw/18/maps.htm

這裡裝了 Facebook 的 comment plugin, 那我們要查找該頁中 comment 的資料要怎麼查找呢? 首先要先找到該 comment 的 object_id, 該 id 可以利用這頁來找:
https://developers.facebook.com/tools/debug

將上面的 http://sample.diary.tw/18/maps.htm 輸入後, 按下[除錯]鈕, 在最下面的網址可以得到該 comment 的 object_id 為: 10150561101545602, 這個就是在 FQL 中, 查詢 comment 的 object_id. (在 Facebook 中, 會給定的各 object id)

再來就要下 FQL 查找資料了, 語法如下:

SELECT id, text, time, fromid FROM comment WHERE object_id='10150561101545602'

問題是從哪裡下呢? 從這裡 Graph API Explorer:
https://developers.facebook.com/tools/explorer
(若無法使用, 會引導登入 Facebook, 使用 Graph API Explorer需要登入 Facebook)

再將中間原來預設為 Graph API 的功能切到 FQL Query, 接下來把上面的查詢指令輸入, 就會得到目前的留言資料, 以 json 的方式來顯示.
接下來的使用, 相信大家就應該容易多了, 就是解析 json 把資料取出來即可.

那如何使用呢? 在程式中如何呼叫這個查詢, 而不是用 Graph API Explorer, 有沒有看到瀏覽器上方的 url 已經變了, 如下:
https://developers.facebook.com/tools/explorer?fql=SELECT%20id%2C%20text%2C%20time%2C%20fromid%20FROM%20comment%20WHERE%20object_id%3D%2710150561101545602%27
也就是說, 其實就是把查詢放到 url 中的 q 參數即可, 但使用上, 前面的 Graph API Explorer 得改成如下:
https://graph.facebook.com/fql?q=SELECT%20id%2C%20text%2C%20time%2C%20fromid%20FROM%20comment%20WHERE%20object_id%3D%2710150561101545602%27
使用 Graph FQL 查詢即可, 這是不用登入就可以使用的, 也就是說, 在程式中只需要透過 webget 等方法, 就可以取得到內容.

應該會有人問, 這個查詢結果, 其中的 text 是留言沒錯, 但沒有人名, 大頭圖, 那怎麼辦, 很簡單啊, 就再回 FQL 查詢就可以了, 不過若是有 100篇留言就要查 100次耶, 或是 smart 一點, 100篇留言, 共 30 個人在留, 那也需要做 30次的 user 查詢, 怎麼想都很難處理, 所以接下來要介紹的是多重查詢.

多重查詢, 有點像是 SQL 中的子查詢, 在面對這種 FQL 查詢時, 可以利用的技巧, 我們將查詢改一下, 改為如下:

{
"comments": "SELECT id, text, time, fromid FROM comment WHERE object_id='10150561101545602'",
"commenters": "SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT fromid FROM #comments)"
}

對, 正如你看到的, 使用一個 #comments 代替前一個查詢結果, 並代入下一個查詢, 利用 json 格式, 將多重查詢放到 FQL 中, 就可以一次查詢把留言和人帶回來, 忘了說, user FQL 參考資料在這裡:
https://developers.facebook.com/docs/reference/fql/user

第二個查詢中的 uid, name, pic_square 就是常用的使用者代碼, 名稱, 大頭圖資訊.
查詢回傳結果就會有兩個 fql_resulte_set, 分別就是 comments, commenters, 如下:

中間略…
就把留言和留言者一次查回來了.

再來, 如何利用程式 parse json 的回傳結果, 就不用多說了吧, 應該就簡單多了, 快去實做看看吧.

分類
好用軟體

微軟RDP Client for iPhone/iPad

終於出了, 在 iPhone / iPad 上的微軟官方 RDP Client.

https://s5.mzstatic.com/us/r30/Purple4/v4/c4/ef/01/c4ef0183-9f7c-5401-35cd-3e06e26f3922/mzl.dmovntgu.175×175-75.jpg

(圖片引用自: https://itunes.apple.com/us/app/microsoft-remote-desktop/id714464092?mt=8 )

這個在 iPhone / iPad 上的 RDP Client 工具, 一直以來都有需求, 只是都是第三方工具的天下, 沒有官方的版本, 這次官方出來了, 主要看起來是可以在 iPhone / iPad 上連到 Windows 8 / 8.1 但一樣可以連到舊版本的 windows 沒有問題, 使用起來也十分直覺方便, 快來試看看!

[2013/10/21]
今天看到在 android 上也有了呢, 網址如下:

https://play.google.com/store/apps/details?id=com.microsoft.rdc.android

介面和 iPhone / iPad 上差不多, 不過少了可以透過 console 連入的功能, 試了使用 /admin 也是不行, 這個部分和 iPhone / iPad 有差異.

比較畫面如下:

分類
好用軟體

Microsoft Office 2003簡繁轉換工具增益集

在 Office 2003 中的 Word 有簡繁轉換功能.

不過在 Power Point 及 Excel 中, 若是想要用這個功能, 可以加裝這個工具, Microsoft Office 2003 簡繁轉換增益集, 官方下載在這裡:

http://www.microsoft.com/zh-tw/download/details.aspx?id=18514

安裝好後, 在 Power Point 2003 的工具選單中, 會有簡體/繁體的功能, 不過需要先選擇需要轉換的區域再進行轉換才行哦. 還在使用舊版本 Office 2003 的朋友們, 有簡繁轉換需求, 可以多多利用.

分類
PHP

好用工具Encode Explorer

今天在協助朋友解決一個在 linux apache 下的 php 程式對中文檔名檔案存取的問題, 在思考在 linux 下的 file system 對中文檔名存放的編碼時, 想說直接找個工具來用比較快. 因為其實不需要真的去檢查看 file system 上中文檔名存放的編碼, 只需要找個 php 的 file explorer 來進行就可以了, 找出對應的編碼即可. 實際上, 之後的程式也是透過 php 存取, 所以用 php 的 file explorer 檢查是最方便不過了.

找到這個好用的工具, 短小精幹, 一支主程式, 就是這麼方便: Encode Explorer – http://encode-explorer.siineiolekala.net/

可以先試看看該網站的 demo: http://encode-explorer.siineiolekala.net/explorer/index.php

一支程式就可以做 file exploer 功能, 所以利用這樣的方式來檢查看中文檔名是否正常, 該程式預設是使用 utf-8 的, 不過朋友的虛擬主機上是 big5 的中文編碼, 所以在 Encode Exploer 下看到亂碼的中文檔名, 利用瀏覽器的編碼改為 big5 就看得到該中文檔名了, 這下就明白朋友的虛擬主機上的中文檔名是走 big5, 對後續在應用 timthumb.php 縮圖無法正確取得本地中文檔名的問題就解決了.

若網友們有碰到這樣的問題, 也可以試著用這套工具來檢查看看. 當然, 若是需要找個方便好用的 php file exploer, 這套工具也是十分方便好用呢!

分類
好用軟體

好用Firefox擷圖外掛-Awesome Screenshot Plus

在 Firefox 下的好用擷圖工具, Awesome Screenshot Plus – https://addons.mozilla.org/zh-tw/firefox/addon/awesome-screenshot-capture-/

主要兩種方式擷圖, 一個是可視區域的擷圖 (Visible Part), 另一是整個頁面 (Full Page), 十分方便好用, 擷圖後, 還提供了簡易的編輯工具, 包含了裁切(Crop), 繪製方塊, 圓圈等可圈選的圖案, 箭頭, 直線, 任意曲線等功能, 再加以存檔, 可以很方便地網頁擷圖, 並加以標註.

有需要的朋友可以試看看, 十分方便!

(圖片引用自: https://addons.mozilla.org/zh-tw/firefox/addon/awesome-screenshot-capture-/ )

分類
懶得分類

倉頡輸入法輸入全形標點符號

用倉頡這麼久, 大多是使用半形的逗號和句號, 所以寫文章時也都是如此.

在打一些文書需要全形標點符號, 都是叫出符號鍵盤來用, 所以也不知道可以用倉頡打全形標點符號.

今天同事說可以用”速成”輸入全形標點符號, 所以來查了一下倉頡的標點符號如何輸入. 在這裡查到了相關的資料: http://zh.wikibooks.org/zh-tw/%E5%80%89%E9%A0%A1%E8%BC%B8%E5%85%A5%E6%B3%95/%E6%A8%99%E9%BB%9E%E7%AC%A6%E8%99%9F%E8%BC%B8%E5%85%A5

其中比較常用的是逗號: ZXAB, 頓號 ZXAC, 句號 ZXAD, 其他的可以參考對照表來輸入, 另外也有快速鍵可以利用 [Ctrl][Alt][,] 將符號小鍵盤叫出來, 就可以用滑鼠選字, 還蠻方便的.

分類
好用軟體

AirParrot-將PC與MAC的畫面送到Apple TV上

之前介紹過將 AirPlay 的畫面送到 PC 與 MAC 上的軟體- AirServre: https://diary.tw/archives/1314 , 就是利用 PC 與 MAC 當做 Server (接收端), 可以把 Mobile Device 的訊號送進來, 若接上投影機或電視就可以放出來進行簡報.

這次的軟體是反過來, 將 PC (iTunes有 audio 的 AirPlay) 與 MAC (OS-X有內建這個功能了)的訊號利用 AirPlay 傳輸送到 Apple TV, 也就是當 AirPlay Client.

這個軟體是 AirParrot, http://www.airsquirrels.com/airparrot/

利用這個軟體配合 Apple TV, 可以容易地將 PC / Notebook 上的訊號送出來進行簡報, 操作方式也很簡單, 安裝好後, 直接在同網段的 Apple TV 就可以被搜尋出來, 點選就可以送上去了, 預設是不送 audio, 可以經過打勾設定將聲音也一併送出.

這個軟體試用是 20分鐘, 20分鐘到了會自動關閉, 購買是 9.99 美金.

下載:
Windows 64位元版: http://www.airparrot.com/download/Windows/AirParrot64.msi
Windows 32位元版: http://www.airparrot.com/download/Windows/AirParrot32.msi

分類
WebTrend

Google Reader影響很大

今天查了一下 feedburner, 發現訂閱者大量減少, 其實原因無它, 就是 Google Reader 停止服務了, 雖然這個很令人懷念的好服務停了, 不過看起來”傳統”blog (本站也算是)的流量應該會受到不少衝擊吧.

來看看統計圖吧:
All time:
30days:
是的, 就是這樣, 訂閱者瞬間少了 80%, 真是驚人啊…

分類
程式技術

程式線上跑-Compile and Execute Programs Online

今天早上在幫朋友查一個 java 的小問題, 剛好手邊沒有環境, 查一下找到這個很棒的工具, java 線上跑:

http://www.compileonline.com/compile_java_online.php

他已經預設提供了 Hello World 的基本框架, 可供直接執行程式, 如輸入以下程式:

public class HelloWorld{
     public static void main(String []args){
        int a = 1;
        int b = a++; // b=1, a=2
        int c = ++a; // a=3, c=3
        
        System.out.println(b);
        System.out.println(c);
     }
}

按下左上的 compile & execute, 在左邊的視窗就會出現結果, 十分方便, 在沒有環境時, 馬上有個小環境可以供測試驗證, 很不錯呢.

回到他的主站, 發現他提供的還不只 java 程式語言, 還有許多其他的:

http://www.compileonline.com/

區分為 web用, 像是 css, javascript, jQuery 等, 還有格式化文字用, 像是 MathML, LaTex 等, 再來就是程式語言了, 真的很多, 包含了pascal, php, python, java, c, c++, c#, objectiv-c, ruby 等很多各式各樣程式語言, 好方便啊, 大家可以多加利用.

分類
好用軟體

TableTools2-好用的Firefox網頁表格plugin

在瀏覽網頁時, 有時想針對一些輸出的表格做些進階的分析及處理, 往往會將資料先存出來, 轉到 excel 中進行.

現在有個好用的 plugin 可以供在網頁上應用, 而且直接操作, 不需要離開現有的畫面, 馬上就可以進行表格(TABLE)的排序, 多欄排序, 繪製圖表等功能, 另外像是在 excel 中才有的篩選, 複製欄, 隱藏欄等功能, 也都一應俱全, 實在是非常好用, 值得推薦大家來使用看看.

TableTools2 plugin 下載網址: https://addons.mozilla.org/zh-tw/firefox/addon/tabletools2/

安裝好後, 找個網頁有表格的, 按下右鍵, 就可以玩囉, 快來試看看吧.

裝好之後, 想玩看看, 可以到作者網站提供的表格區來試看看:

  1. 基本表格 http://mingyi.org/TableTools2/demo.html
  2. 進階表格 http://mingyi.org/TableTools2/advanced-demo.html
  3. 繪製圖表用的表格 http://mingyi.org/TableTools2/chart-demo.html
  4. 用來測試效率的表格 http://mingyi.org/TableTools2/large-table.html (可以生出大量資料)

另外這裡是官方 demo 影片, 也可以參考看看: http://mingyi.org/TableTools2/video.html

很不錯的工具.