如何添加一个允许用户在我的网站上更改其Gravatar的链接?

时间:2009-03-26 08:10:59

标签: php gravatar

如何添加允许用户在我的网站上更改其Gravatar的链接? (与在Wordpress上更改Gravatar的方式相同)

谢谢, 肯尼斯

5 个答案:

答案 0 :(得分:3)

如果您提供指向http://en.gravatar.com/emails/的链接,则会将其带到Gravatar网站,以便他们登录并更改其帐户。我不确定是否有任何其他允许此更改的公共API。

答案 1 :(得分:1)

查看wordpress.com上的html源代码,看起来他们正在使用类似ThickBox的内容在iframe中加载Gravatar网站:

<a href="https://secure.gravatar.com/accounts/force-by-email/wpcom/username/somecode?TB_iframe=true&amp;height=475&amp;width=960" id="gravatar_ui" class="thickbox" title="gravatar.com" onclick="return false;">
   <img src="https://secure.gravatar.com/avatar/gravatarid?s=128&amp;r=any&amp;time=43179786" class="no-grav">
   <p style="text-align: center;">Change your Gravatar</p>
</a>

答案 2 :(得分:0)

Automattic的Gravatar API不提供此功能。您最好的选择是将用户链接到Gravatar网站。

如果你真的想要你可以做一些CSRF试验,我还没有测试过Gravatar网站是否可以防止这种剥削。最好的情况,它会很不稳定 - 我无法想象有人会像他们的Twitter帐户一样始终登录Gravatar帐户。

最后,您可以在iFrame中加载Gravatar网站,这样用户就不会真正离开您的域名。

答案 3 :(得分:0)

应该可以使用XML-RPC实现化身的转换。该协议由Gravatar指定:http://en.gravatar.com/site/implement/xmlrpc/

实际上有一个电话

  • grav.saveData - 将二进制图像数据保存为此帐户的使用对象
  • grav.saveUrl - 通过网址读取图片并将其另存为此帐户的使用对象

所以你需要自己实现改变,但你可以避免人们必须在gravatar登录。

答案 4 :(得分:0)

Gravatar不允许此功能。 WordPress.com可以做到这一点的唯一原因是因为它们都是来自Automattic的服务,并且它们都使用WordPress.com帐户,因此他们获得了一些额外的字符串。您最好的选择是链接到Gravatar网站,或者将其加载到iframe中。如果你将它加载到iframe中,它会提示他们登录到他们的WordPress.com帐户,除非他们经常使用WordPress.com,并且他们的浏览器仍然登录到该帐户。