プロジェクト

全般

プロフィール

Vote #81736

完了

Include avatar URL in Users API

Admin Redmine さんが約4年前に追加. 約4年前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
REST API_32
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
32
version_id:
155
issue_org_id:
36303
author_id:
332
assigned_to_id:
332
comments:
7
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

I suggest including the avatar URL in the user's API.


{
  "user": {
    "id": 1,
    "login": "admin",
    "firstname": "Redmine",
    "lastname": "Admin",
    "created_on": "2006-07-19T17:12:21Z",
    "updated_on": "2021-12-13T10:03:30Z",
    "last_login_on": "2021-12-11T07:06:41Z",
    "passwd_changed_on": null,
    "avatar_url": "https://www.gravatar.com/avatar/982b6086063a22d85509455d8e31cca2"
  }
}

Currently, it is difficult to display a user's Gravatar image when developing an application using the REST API. This is because Users API response doesn't include Gravatar URL. Although you can generate a Gravatar URL if you know the email address, email addresses are usually hidden for non-admin users.

This feature is very useful for developers who are building Redmine clients using REST API.


journals

With the following patch, get the avatar URL even by non-admin users.

<pre><code class="diff">
diff --git a/app/views/users/index.api.rsb b/app/views/users/index.api.rsb
index 4b51ba47a8..cd89a6bf9c 100644
--- a/app/views/users/index.api.rsb
+++ b/app/views/users/index.api.rsb
@@ -11,6 +11,7 @@ api.array :users, api_meta(:total_count => @user_count, :offset => @offset, :lim
api.updated_on user.updated_on
api.last_login_on user.last_login_on
api.passwd_changed_on user.passwd_changed_on
+ api.avatar_url gravatar_url(user.mail, {rating: nil, size: nil})
api.twofa_scheme user.twofa_scheme

render_api_custom_values user.visible_custom_field_values, api
diff --git a/app/views/users/show.api.rsb b/app/views/users/show.api.rsb
index a19a8c637a..c30947512e 100644
--- a/app/views/users/show.api.rsb
+++ b/app/views/users/show.api.rsb
@@ -9,6 +9,7 @@ api.user do
api.updated_on @user.updated_on
api.last_login_on @user.last_login_on
api.passwd_changed_on @user.passwd_changed_on
+ api.avatar_url gravatar_url(@user.mail, {rating: nil, size: nil})
api.twofa_scheme @user.twofa_scheme if User.current.admin? || (User.current == @user)
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
api.status @user.status if User.current.admin?
</code></pre>
--------------------------------------------------------------------------------
Updated the patch to check if the setting "Use Gravatar user icons" is enabled.
--------------------------------------------------------------------------------
Setting the target version to 5.0.0.
--------------------------------------------------------------------------------
The patch should respect @Setting.Setting.gravatar_default@. Otherwise, the icon you see in Redmine and the icon you get by accessing the @avatar_url@ returned by the API will be different.
--------------------------------------------------------------------------------
Go MAEDA wrote:
> The patch should respect @Setting.Setting.gravatar_default@. Otherwise, the icon you see in Redmine and the icon you get by accessing the @avatar_url@ returned by the API will be different.

You're right. @Setting.Setting.gravatar_default@ should be respected.
--------------------------------------------------------------------------------
Updated the patch to respect @Setting.Setting.gravatar_default@.
--------------------------------------------------------------------------------
Committed the patch.
--------------------------------------------------------------------------------

Admin Redmine さんが約4年前に更新

  • カテゴリREST API_32 にセット
  • 対象バージョン5.0.0_155 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0