Heim  >  Artikel  >  Backend-Entwicklung  >  使用 NP-Gravatar 获取 Gravatar 上的头像

使用 NP-Gravatar 获取 Gravatar 上的头像

WBOY
WBOYOriginal
2016-07-25 09:11:191046Durchsuche
  1. //Creating instance:
  2. $gravatarService = new NP_Service_Gravatar_Profiles();
  3. //Changing response format to XML:
  4. $gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_Xml());
  5. //Getting profile data.
  6. $profile = $gravatarService->getProfileInfo('foo@bar.com');
  7. //$profile is instance of NP_Gravatar_Profile so we can access some of its properties.
  8. echo 'ID: ' . $profile->id . '
    ';
  9. echo 'Username: ' . $profile->getPreferredUsername() . '

    ';
  10. echo 'Photos:
    ';
  11. foreach($profile->getPhotos() as $photo) {
  12. echo '使用 NP-Gravatar 获取 Gravatar 上的头像
    ';
  13. }
  14. //Changing response format to JSON:
  15. $gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_Json());
  16. //Getting profile data but forcing raw Zend_Http_Response object to be returned,
  17. //by passing boolean true for the second argument of the getProfileInfo() method:
  18. $response = $gravatarService->getProfileInfo('foo@bar.com', true);
  19. if ($response instanceof Zend_Http_Response) { //true!
  20. //do something
  21. }
  22. //Changing response format to QR Code:
  23. $gravatarService->setResponseFormat(new NP_Service_Gravatar_Profiles_ResponseFormat_QRCode());
  24. //QR Code response can not be exported NP_Gravatar_Profile object, as that
  25. //response format type does not implement
  26. //NP_Service_Gravatar_Profiles_ResponseFormat_ParserInterface interface,
  27. //so raw Zend_Http_Response object will allways be returned when using
  28. //that response format:
  29. $response = $gravatarService->getProfileInfo('foo@bar.com');
  30. echo $response->getHeader('Content-type'); //Prints "image/png".
复制代码
  1. //Gravatar XML-RPC implementation requires API key for the
  2. //authentication proccess. It can be retrieved on the page
  3. //for editing profile, on wordpress.com.
  4. $apiKey = 'someAPIKey';
  5. $email = 'foo.bar@foobar.com'; //Email address associated with the $apiKey.
  6. //Creating instance:
  7. $gravatarXmlRpc = new NP_Service_Gravatar_XmlRpc($apiKey, $email);
  8. //Checking whether there's a gravatar account registered with supplied email addresses.
  9. $result = $gravatarXmlRpc->exists(array(
  10. 'posa.nikola@gmail.com', //That's me. :D
  11. 'foo@example.com'
  12. ));
  13. $values = array_values($result);
  14. echo (bool)$values[0]; //Prints "true", as I do have Gravatar account. :)
  15. echo (bool)$values[1]; //Prints "false", as that second email address probably doesn't exist.
  16. //Getting user images on the current account:
  17. $images = $gravatarXmlRpc->userImages();
  18. //$image is instance of NP_Service_Gravatar_XmlRpc_UserImage,
  19. //as we didn't pass $raw parameter as "true" when executing
  20. //userImages() method.
  21. $image = $images[0];
  22. $imageUrl = $image->getUrl(); //Instance of Zend_Uri_Http.
  23. echo $image->getRating(); //Prints some rating (G, PG, R or X).
  24. //Saves some image to be a user image for the current account.
  25. $this->_gravatarXmlRpc->saveData('path/to/someImage.jpg', NP_Service_Gravatar_XmlRpc::PG_RATED);
复制代码
  1. //Generating Gravatar URL.
  2. echo '使用 NP-Gravatar 获取 Gravatar 上的头像 ;
  3. //Generating Gravatar URL and specifying size and rating options.
  4. echo '使用 NP-Gravatar 获取 Gravatar 上的头像 ;
  5. //Full parameter names are supported, too.
  6. echo '使用 NP-Gravatar 获取 Gravatar 上的头像 ;
  7. //Generating Gravatar URL and specifying file-type extension.
  8. echo '使用 NP-Gravatar 获取 Gravatar 上的头像 ;
  9. //Above view helper call will produce this URL:
  10. //http://www.gravatar.com/avatar/f3ada405ce890b6f8204094deb12d8a8.jpg?s=200
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn