1、Gravatar是什嗎?
Gravatar是 www.gravatar.com 推出的一項服務,意為“全球通用頭像”。如果在gravatar上註冊了帳號並在gravatar伺服器上放置了頭像,那麼當在支援gravatar的blog上發言時,只要提供email地址,就能夠顯示與email相關聯的頭像。這樣就為大家提供了一個統一管理多個頭像的平台,只要網站支援gravatar,就不必特意為每個網站單獨上傳頭像,省去了麻煩。
2、作為普通使用者,如何使用Gravatar?
首先到gravatar上註冊帳號,只要填寫一個常用的email地址,填寫好密碼,然後到郵箱裡確認,就註冊好了一個gravatar帳號。隨後用帳號登陸gravatar,就可以開始為帳號添加頭像了,每個email可以和一個頭像關聯,上傳頭像的方式有很多種。
上傳處理完頭像偶需要為頭像選擇等級,不同的等級會決定你的頭像是否在網站中顯示,假如你的頭像過於限制級,則在不支援此等級的網站中不會顯示,而只會顯示一個預設頭像。
添加完畢後還需要等待審核,一般選擇了G,而你的圖片沒什麼特別的,很快就通過。遇上慢的情況也就10分鐘左右。
3、作為開發這,如何使用Gravatar?
Gravatar不但為普通使用者提供了頭像解決方案,還為開發人員們提供了一些介面,方便開發人員調用gravatar頭像以及在使用者gravatar頭像中包含的簡單Profile。在Gravatar首頁中可以找到開發人員文檔的入口,裡面有關於如何使用gravatar介面的文檔。Gravatar上所有URL都是基於電子郵箱地址的雜湊值。映像和個人檔都是通過電子郵件的雜湊值訪問擷取的,這是系統識別使用者身份的主要方式。為確保雜湊值的一致性和準確性,在產生雜湊值時應遵循下列步驟:
-
去除掉電子郵箱地址頭尾的空格符。
-
先將所有字母強行轉換成小寫字母。
-
使用md5演算法計算處理後的電子郵箱雜湊值。
比如,以”MyEmailAddress@example.com ” 為例(注意我們這裡假設使用者在郵箱地址末尾不小心多按了個空格),如果我們用md5直接對字串進行編碼,我們會得到下列內容:
echo md5 ( "MyEmailAddress@example.com " ) ; // "f9879d71855b5ff21e4963273a886bfc" |
按照上面提到的流程處理同樣的電子郵件地址,可以得到一個完全不同的計算結果:
$ email = trim ( "MyEmailAddress@example.com " ) ; // "MyEmailAddress@example.com" $ email = strtolower ( $ email ) ; // "myemailaddress@example.com" echo md5 ( $ email ) ; // "0bc83cb571cd1c50ba6f3e8a78ef1346" |
上述代碼可寫成一行代碼:
echo md5 ( strtolower ( trim ( "MyEmailAddress@example.com " ) ) ) ; |
獲得產生的雜湊值,就可以請求擷取映像或是個人檔。圖片請求URL形式類似下面:
http://www.gravatar.com/avatar/雜湊值
比如下面就是一個基本的URL連結。
http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50
若沒有提供尺寸參數,則映像大小預設是80X80。不過,你可以通過s=或size=參數傳遞一個值(映像是正方形的),動態規定Gravatar映像大小。你可以請求從1px到512px範圍內任意尺寸的映像,需要指出的是,許多帳戶圖片的解析度較低,因此大尺寸的頭像效果可能較差。
如果某個電子郵件地址沒有相應的Gravatar頭像時會怎樣呢?Gravatar會返回如下的預設頭像:
如果你需要使用自己的預設頭像(可能是Logo等圖片),你可以在圖片連結後面的d=或者default=參數中指定你自己預設圖片的URL地址。這個URL連結需要進行URL編碼,確保傳輸的正確性。
如何在PHP中對字串進行URL編碼,你可以參看下面這行代碼:
echo urlencode ( 'http://example.com/images/avatar.jpg' ) ; |
當你指定了預設的頭像時,Gravatar在電子郵箱雜湊值沒有對應的頭像時會顯示你指定的預設頭像。
除了可以設定預設的頭像外,Gravatar還提供一系列的內建參數選項作為預設值。這類內建參數選項會接受電子郵箱地址的雜湊值,並使用該雜湊值產生主題圖片。若要啟用這些參數,你只需在圖片請求中添加上d=參數,並將參數值設定為下列值即可:
-
404: 不載入任何頭像。如果電子郵件地址雜湊值沒有對應的映像,則返回404響應(檔案沒有找到)
-
mm: 簡約、卡通風格的人物輪廓像(不會隨郵箱雜湊值變化而變化)。
-
identicon:幾何圖案,其形狀會隨電子郵箱雜湊值變化而變化。
-
monsterid:程式產生的“怪獸”頭像,顏色和面孔會隨會隨電子郵箱雜湊值變化而變化。
-
wavatar::用不同面容和背景組合產生的面孔頭像。
-
retro:程式產生的8位街機像素頭像。
如果你需要使用自己的預設頭像(可能是Logo等圖片),你可以在圖片連結後面的d=或者default=參數中指定你自己預設圖片的URL地址。這個URL連結需要進行URL編碼,確保傳輸的正確性。
如何在PHP中對字串進行URL編碼,你可以參看下面這行代碼:
echo urlencode( ‘http://example.com/images/avatar.jpg’ );
當你指定了預設的頭像時,Gravatar在電子郵箱雜湊值沒有對應的頭像時會顯示你指定的預設頭像。
除了可以設定預設的頭像外,Gravatar還提供一系列的內建參數選項作為預設值。這類內建參數選項會接受電子郵箱地址的雜湊值,並使用該雜湊值產生主題圖片。若要啟用這些參數,你只需在圖片請求中添加上d=參數,並將參數值設定為下列值即可:
404: 不載入任何頭像。如果電子郵件地址雜湊值沒有對應的映像,則返回404響應(檔案沒有找到)
mm: 簡約、卡通風格的人物輪廓像(不會隨郵箱雜湊值變化而變化)。
identicon:幾何圖案,其形狀會隨電子郵箱雜湊值變化而變化。
monsterid:程式產生的“怪獸”頭像,顏色和面孔會隨會隨電子郵箱雜湊值變化而變化。
wavatar::用不同面容和背景組合產生的面孔頭像。
retro:程式產生的8位街機像素頭像。
出於某些原因,你可能需要強制顯示預設頭像。這時你可使用f=或forcedefault=參數,並將參數值設定為y。
http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?f=y
Gravatar允許使用者自行對頭像分級,表明頭像是否適合特定的受眾群。只有G級的頭像是預設顯示的,除非希望看到更高分級的頭像。你可以使用r=或rating=參數,指定參數,請求特定分級的頭像。若要允許G或者PG層級的頭像,可以參照下面執行個體設定。
http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?r=pg
你可以混用上述所有參數,以產生複雜的請求。比如下面這個URL請求的是200像素大小,分級為G或者PG級的Gravatar頭像,如果對應的郵箱雜湊值沒有頭像,則預設返回404響應。
http://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50?s=200&r=pg&d=404
如果你需要在SSL傳輸的頁面上顯示Gravatar頭像(比如HTTPS開頭的URL頁面),你希望Gravatar也是通過SSL傳輸的,若不這樣,你會看到瀏覽器提示煩人的安全警告。若要進行安全請求,只需將Gravatar請求連結換成下面這樣開頭的連結即可。https://secure.gravatar.com/…除此之外,一切照舊,你只需確保URL開頭跟上面一樣即可。
最後推薦 一個卡通頭像制的網站 http://www.faceyourmanga.com/