Index: openacs-4/packages/facebook-api/tcl/facebook-api-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/facebook-api/tcl/facebook-api-procs.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/facebook-api/tcl/facebook-api-procs.tcl 3 Nov 2009 06:22:06 -0000 1.3 +++ openacs-4/packages/facebook-api/tcl/facebook-api-procs.tcl 5 Nov 2009 14:42:28 -0000 1.4 @@ -381,13 +381,11 @@ return [facebook_api::do_request -package_key $package_key -method "photos.get" -params $params] } - # *************************** # Feed procs # - procs related to publishing feeds to user's profile page # *************************** - ad_proc facebook_api::set_fbml { -package_key -session_key @@ -432,6 +430,46 @@ } # *************************** +# FQL +# - procs for querying fb data via fql +# *************************** + +ad_proc facebook_api::fqlquery { + -package_key + -session_key + -query + {-format json} +} { + Query facebook data by using FQL +} { + return [facebook_api::do_request -package_key $package_key -method "fql.query" -params [list session_key $session_key format $format query $query]] +} + +# *************************** +# Error Handling +# - use this to verify if the facebook response_string has an error-code +# - returns 0 if it does not contain an error_code +# - returns the error_msg if it contains an error_code +# *************************** + +ad_proc facebook_api::check_error { + -fb_response_string + {-format json} +} { + Feed this proc a response string from a facebook request. + This proc returns 0 if the response is valid. + It returns the error_msg if the response_string contains an error_code + NOTE: only supports json format right now +} { + set response_json [json::json2dict $fb_response_string] + if { [lindex $response_json 0] == "error_code" } { + return [lindex $response_json 3] + } else { + return 0 + } +} + +# *************************** # Custom procs # - we're going to add some useful features to # this api, e.g. scoring, caching user info @@ -514,4 +552,5 @@ } db_dml update_last "update fb_users set last_friends_update = current_timestamp where uid = :uid" db_flush_cache -cache_key_pattern $uid -} \ No newline at end of file +} +