Я ожидал, что что-то подобное сработает
http://en.gravatar.com/site/signup?email=user%40example.com
Чтобы пользователю не приходилось повторно набирать свой адрес электронной почты.
Я ожидал, что что-то подобное сработает
http://en.gravatar.com/site/signup?email=user%40example.com
Чтобы пользователю не приходилось повторно набирать свой адрес электронной почты.
Я заметил этот пакет wordpress, который обрабатывал его (и ТОННУ других вещей) для user, поэтому я немного покопался в его коде, и он использовал эту функцию PHP:
/**
* Get URL to locale gravatar signup page
*
* @since 2.0
* @param string $email Email address that should be apended
* @return string $gse_url URL of locale signup page
*/
function gravatar_signup_encouragement_locale_signup_url( $email = '' ) {
/* translators: Locale gravatar.com, e.g. sr.gravatar.com for Serbian */
$gse_locale_url = _x( 'en.gravatar.com', 'Locale gravatar.com, e.g. sr.gravatar.com for Serbian', 'gse_textdomain' );
/* Check if it's really locale.gravatar.com */
if ( preg_match( '|^[A-Z_%+-]+.gravatar+.com|i', $gse_locale_url ) ) {
$gse_locale_url = $gse_locale_url;
} else {
$gse_locale_url = 'en.gravatar.com';
}
/* If email exists, append it */
if ( empty( $email ) ) {
$gse_url = "http://" . $gse_locale_url . '/site/signup/';
} else {
$encoded_email = urlencode( $email );
$gse_url = "http://" . $gse_locale_url . '/site/signup/' . $encoded_email;
}
return $gse_url;
}
К сожалению, это, вероятно, больше не работает, поскольку Wordpress принял форму с учетными записями oauth, поэтому вот мое преобразованное решение Ruby on Rails. Важным моментом является тот факт, что параметр HTTP user_email
существует и работает:
def gravatar_create_url(user)
user_email = u user.email.downcase
"https://signup.wordpress.com/signup/?ref=oauth2&user_email=#{user_email}&oauth2_redirect=bf551c93d83b96478db51481a9cbe97e%40https%3A%2F%2Fpublic-api.wordpress.com%2Foauth2%2Fauthorize%2F%3Fclient_id%3D1854%26response_type%3Dcode%26blog_id%3D0%26state%3D331f9ecba5fcab15e2168e1231f7be2a4b1b8cd24dd6f90b3672fb5159d7b590%26redirect_uri%3Dhttps%253A%252F%252Fen.gravatar.com%252Fconnect%252F%253Faction%253Drequest_access_token%26jetpack-code%26jetpack-user-id%3D0%26action%3Doauth2-login&wpcom_connect=1"
end
Я не уверен насчет всех этих других параметров перенаправления, поскольку они могут измениться со временем в зависимости от того, как Wordpress захватил Gravatar, но, надеюсь, это приведет вас в правильном направлении.
Просто чтобы отфильтровать ответ слишком булке (который следует принять) и сделать его независимым от реализации ...
Используйте параметр запроса user_email в URL-адресе страницы регистрации.
https://signup.wordpress.com/signup/?user_email=user%40example.com
Это изменилось. Теперь вам нужно сначала вычислить хеш md5. Нравится:
http://www.gravatar.com/avatar/[MD5 электронного письма]? s = [размер граватара]
например: http://www.gravatar.com/avatar/1f8b4ac238826420d85929df0cdc255f4/s а>