XML-RPC API

← Back

Connecting
API Endpoint: https://secure.gravatar.com/xmlrpc?user=[email_hash]

基於安全性理由,當你連線至 secure.gravatar.com 時將強制以HTTPS連線。email_hash 這個GET參數是將使用者的Email地址轉成小寫並去除前後空白後透過md5雜湊而成。

所有方法的參數都必須透過單一一個關聯陣列來傳遞。

驗證
在使用API方法時會需要驗證使用者,你必須在使用方法時傳送一個叫做password的參數。這些參數會以明碼方式傳送,密碼則會在方法開始執行前就被拿掉。因此在grav.test方法中不會傳回密碼。

錯誤
錯誤訊息通常帶有一個代碼及一段易識讀的文字內容。一般來說文字部分都會出現在錯誤代碼後,有關錯誤代碼的簡述如下:

	-7	使用 secure.gravatar.com 
	-8	內部錯誤 
	-9	驗證錯誤 
	-10	缺少方法參數 
	-11	方法參數不正確 
	-100	其他項目錯誤(如文字) 

方法
grav.exists - 檢查雜湊碼是否有對應的Gravatar圖片 
	@param  (array)$args['hashes'] 待檢查的雜湊碼陣列 
	@param	(string)$args['password'] for authentication 
	@return array ( 
		hash => (bool)exists,
	)

grav.addresses - 取得此帳號的Email地址清單 
	@param  (string)$args['password'] for authentication 
	@return array ( 
		address => array (
			rating        => (int)rating, 
			userimage     => (int)userimage, 
			userimage_url => (int)userimage_url
		) 
	)

grav.userimages - 傳回一個此帳號使用者圖片的陣列 
	@param  (string)$args['password'] for authentication 
	@return array (
		userimage => array( 
			(int)rating, // 0:g, 1:pg, 2:r, 3:x
			(string)url,
		)
	) 

grav.saveData - 儲存二進位圖片資料做為此帳號的使用者圖片 
	@param  (string)$args['data'] a base64_encode()d image
	@param  (int)$args['rating'] 0:g, 1:pg, 2:r, 3:x
	@param  (string)$args['password'] for authentication 
	@return (bool)false 失敗時, (string)userimage 成功時 

grav.saveUrl - 透過網址來讀取圖片並儲存為此帳號的使用者圖片 
	@param  (string)$args['url'] 圖片的完整網址 
	@param  (int)$args['rating'] 0:g, 1:pg, 2:r, 3:x
	@param  (string)$args['password'] for authentication 
	@return (bool)false 失敗時, (string)userimage 成功時 

grav.useUserimage - 把使用者圖片設成此帳號的一個或多個Email地址的Gravatar圖片 
	@param  (string)$args['userimage'] 你想使用的使用者圖片 
	@param  (array)$args['addresses'] 你想使用此使用者圖片的Email地址清單 
	@param  (string)$args['password'] for authentication 
	@return array(
		address => (bool)status
	)

grav.removeImage - 移除與一個或多個電郵相關聯的用戶圖像 
	@param  (array)$args['addresses'] 你想使用此使用者圖片的Email地址清單 
	@param  (string)$args['password'] for authentication 
	@return array(
		address => (bool)status
	)

grav.deleteUserimage - 從帳號以及所有關聯的Email地址中移除使用者圖片 
	@param  (string)$args['userimage'] 你想從此帳號移除的使用者圖片 
	@param  (string)$args['password'] for authentication 
	@return (bool)status

grav.test - a test function
	@param  (string)$args['password'] for authentication 
	@return (mixed)$args