Posts

Showing posts from September, 2010

如何申請 Windows Live ID 的 Apps

用 Drupal 以來一直有個問題 第三方開發者開發的程式說明不足夠 對於這種菜鳥總是要花很多時間去找到底是哪邊出了問題 甚至還有模組把 function 寫好 功能頁面還要你自己去寫 orz... 這次是因為裝了 Windows Live ID Integration 到了 My Account 裡面有個 Windows Live Indentity, 點 Activate Windows Live ID 進去認證會導到 http://localhost/webauth/sample/webauth-handler.php 發現無法正常使用 或者是我沒發現開發者把申請 App ID 的資訊寫到哪邊 後來在網路上找到一篇 msdn 的文章 終於解開了我的迷惑~ 最主要要去下面申請 App,這邊需要 Windows Live ID 當作申請的帳號 Live Services Developer Portal 他會給你 Application ID、Domain(s)、Return URL、Secret Key 這幾個資訊 其中 Domain 跟 Ruturn URL 是你自己設定的,Ruturn URL 要設定 callback 的網址,通常跟 Domain 位置會不一樣,但如果你用 Drupal 應該是一樣的,但 Return URL 前面要加上 http:// ,並且後面要加上 winliveid/handler,如 http://example.com/winliveid/handler 然後把 Application ID 跟 Secret Key 拿去餵 Windows Live ID Integration 的 Application-Key.xml 就好了 使用 Windows Live ID Integration 的版本為 6.x-1.x-dev(2010-Jul-11) 參考資訊: Running the PHP QuickStart Sample

使用手機發 Facebook stream.publish

一般 Facebook 的 access token 取得方式僅能夠用在註冊的網站 如果你用在手機的話,他會噴下面訊息給你看 Invalid access token signature. 而且用手機發還需要有 uid 或 session key 這兩個其中一個參數 不然他會噴 parameters uid or session key required 整個傳送方式如下: step 1. 取得 code https://graph.facebook.com/oauth/authorize?client_id=175981222462&redirect_uri=http://otc.mymode.idv.tw&display=touch&scope=user_photos,email,user_birthday,user_online_presence,offline_access,publish_stream (2010-10-06 更新) step 2. 取得 token https://graph.facebook.com/oauth/access_token?client_id=your client id&redirect_uri=your uri&client_secret=your client secret&code=上面的 code= &type=client_cred step 3. 發送 stream.publish https://api.facebook.com/method/stream.publish?format=json&message=your message &uid=your uid &access_token=your token 參考網站: Error validating verification code.

Drupal : Fatal error: Call to undefined function oauth_common_authorization_levels() in...

這次輪到 Services OAuth 了! 錯誤訊息: Fatal error : Call to undefined function oauth_common_authorization_levels() in xxx \sites\default\modules\services_oauth\services_oauth.admin.inc on line 19 請先確認一下您裝得版本是否正確 NOTICE: The 6.x-2.x branch of services_oauth is not compatible with the 6.x-2.x branch of services. To use the 6.x-2.x branch you must use the 6.x-3.x branch of services. 如果您剛好 Services 是裝 6.x-2.2 版 而 Service OAuth 就只能裝 6.x-1.0-beta6 版 你應該在 admin/build/services/authentication 會遇到上面的錯誤畫面 請修改這兩支檔案 1. services_oauth.admin.inc 第 19 行請改成 foreach (oauth_common_context_load_all() as $name => $level) { 2. services_oauth.inc 第 79 行請改成 $autho_levels = oauth_common_context_load_all(); 這樣就功德圓滿了~

Druapl : user warning: Table 'drupal.services_keys' doesn't exist query: SELECT * FROM services_keys in...

如果您的 drupal 上面裝了很多 services server 那就有可能遇到這個問題 user warning: Table 'drupal.services_keys' doesn't exist query: SELECT * FROM services_keys in" 可以先把 services server 跟相關的 services 關掉 最後再把 services 給移除後重新安裝 然後 enable 後再把原本的 services 打開 應該就不會以上的錯誤訊息了 以下的 reference 還有人出 $50 解決這個問題咧 XD Reference: Will Pay $50 to have someone manually install database tables

Drupal 的粗體驗

最近在玩 Druapl 不過好像是被 Druapl 玩 裝了一堆有關 SNS 的 third-party 的程式 發現都動不太了 測試後去看程式才發現這程式有點小 bug orz... 目前遇到兩個解決方式如下: json server druapl 的 web service 很有趣,所有的 services (json、soap、rest、xml-rpc、amf等)都是 based on services 這個模組 問題發生版本: 6.x-2.0-alpha2 錯誤訊息: { "#error": true, "#data": "Invalid method " } 解決方式: 請將 json_server.module 中第 40 行 $request = drupal_parse_json($_POST['method']); 更改為 $request = $_POST['method']; soap server 問題發生版本: 6.x-1.2-beta1 錯誤訊息: You must specify a name when you register an operation 解決方式: 將 soap_server.module 中的變數中前的 # 移除 可參考這支檔案修改 例如 foreach ($method['#args'] as $arg) { 改成 foreach ($method['args'] as $arg) { 上面那個檔案中所有的都要改掉喔! Reference: Example: Accessing JSON server via cURL More: You must specify a name when you register an operation