分類
手機大未來

如何於手機開啟Facebook APP指定粉絲團、活動、社團、個人頁的方式

在網頁上或是APP裡, 想要於行動設備開啟 Facebook APP的指定粉絲團、活動、社團、個人頁, 要如何進行呢?

可以使用 fb:// 的 intent protocol, 以下為簡單說明:

粉絲專頁, 以 facebook 本身官方的粉絲專頁為例, https://www.facebook.com/facebook/, 我們先找出它的 fan page id: 20531316728, 可以使用工具: https://lookup-id.com/

接下來我們需要實作判定 android 或 iOS 來決定啟動的方式, Android 如下:

fb://page/20531316728

iOS 如下:

fb://page?id=20531316728

大家可以試看看, 若是社團呢? 一樣, 先找出社團代碼, 以這個社團為例: https://www.facebook.com/groups/facebook360community/
, 找出它的 groupid 為: 241193586214590, 然後使用以下網址:

Android: fb://group/241193586214590

iOS: fb://group?id=241193586214590

當然, 像是活動, 或是個人頁, 也都可以使用對應的 event / profile 來進行操作, 很方便也很直覺, 另外最重要的一點, 記得若是有 id 的狀況下, 直接使用:

https://facebook.com/[id]

也會直接到對應的粉絲團、活動、社團、個人頁哦.

參考資料:

https://stackoverflow.com/questions/4810803/open-facebook-page-from-android-app
https://stackoverflow.com/questions/47794033/open-link-to-facebook-group-in-facebook-app-on-android

 

 

RegExp物件的group元素取出方式

真的很妙……

這篇是要說明 RegExp 在 VBScript (WShell, ASP皆同) 內使用的狀況, 今天正在解決一個解析指令的語法, 想說利用 Regulare Expression 這個好物來處理一下, 結果真是令人不開心啊. 因為查了半天 msdn, 都沒有找到將 group 元素取出的方式, 所以整個就是失落(因為明明就應該是有方法可以取出來才對). 查到的文件在這裡:

http://msdn.microsoft.com/en-us/library/ms974570.aspx

想說怎麼會沒有這個語法呢? 真的是太奇怪了. 於是再到 google 另外查了一下, 發現其實還有個 SubMatches 的 collection 啦, 原來如此, 這個才是真的拿到 group 元素的方式, 想來真的是自己沒有仔細查找清楚, 只能再做個筆記自己記錄一下.

msdn 其實是有資料的, 在這裡:

http://msdn.microsoft.com/en-us/library/y27d2s18(VS.85).aspx

好地, 回到主題, 簡單地說, 今天原來要做的需求很單純, 就是將一個控制指令中的各項參數取出, 如下:

control_[series]_batch_[bno]_target_[tno]_end

這樣的一個字串, 將其中的 [series], [bno], [tno] 取出來, for example, 像是這樣的一個指令:

control_276324_batch_23_target_14_end

要將其中的 276324 及 23 及 14 取出, 若是用 parse 的方式比較麻煩, 就是一個一個比對下去, 但用 RegExp 就方便了, 既能檢查 pattern, 又可以將參數一次取出, 一舉兩得, 接下來就著手來作業了, 程式碼如下:

strCmd = "control_276324_batch_23_target_14_end"

Set objReg = New RegExp
objReg.Pattern = "control_([0-9]+)_batch_([0-9]+)_target_([0-9]+)_end"
Set objMatches = objReg.Execute(strCmd)
If objMatches.Count > 0 Then
  series = objMatches(0).SubMatches(0)
  bno = objMatches(0).SubMatches(1)
  tno = objMatches(0).SubMatches(2)
End If

Set objReg = Nothing

若是指令(strCmd)是多組, 也可以一次都處理完成, 利用 objMatches(i) 來取得, 不過就是要將 objReg.Global 設為 True 就是了.

這樣就可以一口氣將 series, bno, tno 全數取得, 一方面檢查看指令是否符合 pattern, 一方面又可以將所需要的參數取出, 豈不快哉!?