目前位置
[轉]Facebook 應用程式製作 Q&A(2013/02/4 更新)
作者:sLoB    發佈於:    文字:【】【】【
摘要:前陣子寫了一系列的 Facebook 應用程式教學文,相信應該有不少人都學會製作 FB 應用程式了吧! 不過,我也在發表教學文後陸陸續續收到不少其他人在製作上遇到問題的迴響。 所以這次我就乾脆將一些較常見的問題集中在一篇文章內,這樣也方便那些遇到類似問題的讀者們利用這份疑難排解的參考資料來解決問題。

※已知的常見問題※

這邊是其他讀者們曾經問過我的問題。

因為各位讀者的操作方式都不太一樣,所以一旦發生問題時我無法瞬間知道該怎麼解決。

因此這邊只列出幾種可能的解決方案供各位參考。

實際上還是得依照您所遇到的問題和畫面上顯示的錯誤訊息來對症下藥。

 

 

Q:應用程式『權限』頁面的地方顯示『Configuring Permissions Use … displayed in 應用程式中心 or using Auth Referrals』這樣的訊息
   而且我的權限頁面裡沒有『Authenticated Referrals』選項,也沒有顯示驗證畫面。

A:這可能是因為您沒有在第三篇教學文中的『User & Friend Permissions』或『Extend Permissions』欄位內填寫要取得的資料權限。

如果您沒有填寫這兩個欄位的其中一個的話,系統就會將您的應用程式視為無須授權就能使用,所以也就沒有驗證畫面了。

不過,如果您的應用程式真的沒有要用到使用者資料的話,那這兩個資料存取權限欄位確實不用填寫。

有時候使用者反而會因為要將資料提供給應用程式而打消繼續使用的念頭,因此要不要使用就看個人決定。

2013/1/28 新增:

Facebook 對應用程式的使用標準有提高,若要存取較隱私的使用者資料(像是好友清單)就需要購買SSL。

當應用程式支援『https://』開頭的網址時才不會因為呼叫這類 API 而被擋下。

若沒有顯示授權畫面的話,可以使用 getLoginUrl 函數來直接呼叫。

官方說明:https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

2013/2/4 新增:

Facebook 從 2013/2/6 起將不再使用 Authenticated Referrals 設定。

屆時所有的應用程式都將無法從應用程式設定中找到 Authenticated Referrals。

若要使用授權功能的話請使用 getLoginUrl 函數(https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

 

 

Q:我的應用程式執行結果是一片空白,怎麼會這樣?

A:這應該是最常見的問題了,有的問題是出在缺少相關的 PHP 元件,有的問題則是出在用來執行應用程式的作業系統身上。

PHP 版本建議使用最新版,因為某些擴充元件在舊版裡並沒有內建。(像 PHP 5.1 以下就沒有內建 php_josan)

而作業系統的部分,centos 似乎要先安裝 Facebook 套件才能正常運作,而使用 IIS 的人也可能會遇到執行後沒有任何東西出現的情況。

最理想的運作環境是 Linux+Apache+MySQL+PHP,但後面3項已經有人做成 Appserv 這種完整安裝包,所以也可以使用 Linux+Appserv 這種組合。

不過,並不是版本越新就一定越好,我記得 MySQL 好像從哪一版本開始就有加入資料庫結構表。

這東西會相對增加資料庫的安全風險,一旦資料庫結構表被非法份子取得的話就很容易發生被『爆庫』的危險。

 

 

Q:我有下載並使用本站的範例,但點擊『發佈到塗鴉牆』的按鈕都沒反應,是怎麼一回事?

A:之前有一陣子我自己的應用程式也會這樣,但我在應用程式設定中的 App Domain 欄位填上我的網域名稱後就解決了。

例如:本站的網址是 http://streamer-forest.tw/ ,那我就在 App Domain 欄位內填上『streamer-forest.tw』並按下儲存就OK了。

不過,在填寫 App Domain 時,要等到該欄位將你填寫的網域變成標籤型態才行。(網址會被加框並且有「X」的圖示出現)

 

 

Q:為什麼在應用程式中心或頂端搜尋列中會搜尋不到自己做的應用程式?

A:剛建立沒多久的應用程式要將資訊傳送到 Facebook 的伺服器做整理需要一點時間。

通常等一段時間後就能搜尋到了,不過如果你的應用程式名稱有跟其他應用程式重疊到就不太好找。

例如:『海賊王』相關的應用程式有幾十個,若你的應用程式名稱內也有『海賊王』一詞的話就不太容易過濾掉別人做的應用程式。

最直接的方法就是搜尋應用程式的全名,這樣準確率會最高。

 

 

Q:出現『Fatal error: Uncaught CurlException: 51: SSL: certificate…base_facebook.php on line 976』是什麼意思?

A:這個問題可能時有時無,大致上是說在 SSL 驗證過程中發生主機名稱不符的錯誤。

有網友表示在裝了 SSL 認證後就沒有這個問題了,不過 SSL 認證並不便宜,國外的價格大概是每年$49美元(台幣1400元左右),這還是最低階的 SSL 憑證。

所以要不要裝就看各人了,至少我的應用程式以及本站範例都沒有要用到 SSL 認證的部分就是了。

順便說一下,有些付費空間會提供免費的共用 SSL 服務(像 Bluehost 就有),有興趣的人也可以向您的主機商詢問相關資訊。

 

 

Q:出現『Please use your … and then create a test account.』這樣的錯誤訊息,這是什麼意思?

A:這是說您只能使用個人的 Facebook 帳號而不能使用像粉絲團帳號這類的延伸帳號來建立應用程式。

若您想用不同的帳號來測試應用程式的話,才按下訊息中的『test account』連結並閱讀測試帳號的相關文件。

 

 

Q:有些應用程式會將某張大圖自動張貼到塗鴉牆上,這是怎麼做到的?

A:那個就要用到相簿存取功能了,原理大致上就是程式產生一張圖,然後將該圖儲存至使用者的相簿內,之後再將此圖張貼在塗鴉牆上就OK了。

印象中是 Facebook API 裡的 setFileUploadSupport 函數,有興趣的人可以自行到官方文件區裡找找。

 

 

Q:Facebook 裡的小遊戲是怎麼製作的?

A:一般來說,我們會把 Facebook API 和小遊戲的介面分開,直到小遊戲的完成度高到幾乎能直接玩時再將 FB API 嵌入。

例如說:我想製作一個能選擇特定好友並寄送心意卡的應用程式,那我就先將選擇朋友的那部份留下,然後將其他像是寄送卡片與接收卡片的部分都寫好。

之後再將選擇朋友的程式部分嵌入 Facebook API 好讓我們能在 Facebook 上直接選擇好友。

這樣一來我們就不需要一邊製作遊戲一邊擔心 Facebook 函數的使用會不會出錯。

當然,完成後的測試也很重要,測試成功後再開放給大家使用才能保證應用程式的品質。

 

 

目前有遇到的問題就這些,以後若有新的問題的話會繼續更新!

瀏覽 (2454) | 評論 (0) | 評分(0) | 支持(0) | 反對(0) | 發佈人:sLoB
將本文加入收藏夾
Search
美人時計
文章評論
最新評論
更多評論 發表評論
發表評論
您的評價
差(1) 一般(2) 好(3) 很好(4) 非常好(5)
評論標題
評論內容
驗 證 碼
看不清?更換一張
匿名發表 

© 2011 slobgame.net   website templates by styleshout      Powered by Wayhunt WebSite System 1.5