Gravatar, WordPress bünyesinde sadece avatar kullanımı için geliştirilmiş ve halende geliştirilmeye devam edilen bu online platform ile çoğu masaüstü, web, mobil uygulama kullanıcı avatarını gravatar servisinden elde etmektedir bizde yaptığımız uygulamalarda kullanıcının bu servisi var ise bu resmi nasıl elde edeceğimizi çeşitli dillerde göreceğiz.
Gravatar Servisi Nedir, Nasıl Kullanılır?
Bu makalede C#, PHP ve Javascript kullanılarak nasıl gravatar görselleri elde edeceğimizi göreceğiz. Kullanıcı avatarını elde etmek istediğiniz kullanıcının mail adresinin md5′ hashlenmesi gerekmektedir ve böylelikle alttaki istek adresi kısmında yer alan md5_hash kısmına kullanıcının mail adresi ile hashlenmiş md5 değeri girilecek.
Şimdi sırasıyla C#, PHP ve Javascript’de muhackgames@gmail.com adresinin md5’e hashleyip nasıl kullanacağımızı göreceğiz.
C#
MD5.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | using System; using System.Security.Cryptography; using System.Text; namespace MHG.AspNet.Gravatar { public class MD5 { public static string Hash(string str) { // byte array representation of that string byte[] encodedPassword = new UTF8Encoding().GetBytes(str); // need MD5 to calculate the hash byte[] hash = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(encodedPassword); // string representation (similar to UNIX format) return BitConverter.ToString(hash) // without dashes .Replace("-", string.Empty) // make lowercase .ToLower(); } } } |
Default.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MHG.AspNet.Gravatar.Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <img src="//www.gravatar.com/avatar/<%= MHG.AspNet.Gravatar.MD5.Hash("muhackgames@gmail.com") %>?s=512" /> </div> </form> </body> </html> |
Koda github üzerinden gözatmak isterseniz buraya tıklayınız.
PHP
1 2 3 4 5 6 7 8 9 10 11 | <?php $email = md5("muhackgames@gmail.com"); ?> <html> <head> <title>Use With PHP</title> </head> <body> <img src="http://www.gravatar.com/avatar/<?php echo $email ?>" /> </body> </html> |
Koda github üzerinden gözatmak isterseniz buraya tıklayınız.
JAVASCRIPT
Javascriptde yerleşik olarak crypto fonksiyonları yer almıyor harici kütüphanelerden biri olan CryptoJS adlı kütüphaneyi kullanarak md5 hash’leme işlemi yapacağız.
index.html
1 2 3 4 5 6 7 8 9 10 | <!DOCTYPE html> <html lang=tr> <head> <title>CryptoJS Javascript Library</title> </head> <body> <script src="md5.js"></script> <script src="index.js"></script> </body> </html> |
index.js
1 | document.write("<img src='http://www.gravatar.com/avatar/"+CryptoJS.MD5("muhackgames@gmail.com")+"' />"); |
Koda github üzerinden gözatmak isterseniz buraya tıklayınız.
Varsayılan Görsel Ayarlama
Varsayılan bir görsel ayarlamak için d parametresini kullanacağız ve d parametresine kullanıcı görseli bulunamadığında çıkmasını istediğimiz bir görsel adresi gireceğiz.
Örnek
1 | <img src='http://www.gravatar.com/avatar/asdasdasd?d=https://lh5.googleusercontent.com/-_PS9tR6sU1I/AAAAAAAAAAI/AAAAAAAAADU/5q2XASYad50/photo.jpg?sz=85' /> |
Resmi Boyutlandırma
Eğer linke s özelliğini eklemediyseniz ve bir değer girmediyseniz o zaman varsayılan olarak gösterilecek olan resim ölçüleri 80×80 piksel olacak. Şimdi 512×512 piksel görsel elde etmek için nasıl bir değişiklik yapmamız gerektiğini görelim.
Boyutlandırabileceğiniz boyut değerleri 1‘den 2048′e kadar kullanılabilir.
Örnek
1 | <img src='http://www.gravatar.com/avatar/asdasdasd?d=https://lh5.googleusercontent.com/-_PS9tR6sU1I/AAAAAAAAAAI/AAAAAAAAADU/5q2XASYad50/photo.jpg?sz=85' /> |
Not: Eğer md5 hash’lemesi yapmanıza rağmen ilgili mail adresi ile eşleştirilmiş bir görsel bulunamadıysa o zaman varsayılan olarak alttaki görsel çıkarılacaktır.
Desteklenen Diğer Diller ve Örnek Kodlar
Gravatar’ı http request sonucunda dönen bir görsel hizmeti sunan bir hizmet olması dolayısıyla istenilen tüm platformlara kolaylıkla entegre edilebilir bir projedir bizde bu makalede PHP, C#, ve Javascript teknolojilerinden nasıl kullanılabileceğiniz gördük eğer diğer platformlar ile ilgili örnek kodlara ve dökümana gözatmak isterseniz alttaki linki ziyaret etmenizi öneririm.