2016-04-06 57 views
4

私はゲームコミュニティのためにスラックチームを運営しています。私のユーザーはすべてゲーム内にアバターを持っています。私はすでにスラックAPIを使ってスラックユーザー名をゲーム名に自動的に設定しています。Slack APIを使用してプロフィール画像を設定できますか?

また、ゲームのアバター画像を使用して自動的にプロフィール画像をスラックに設定したいと考えています。しかし、私はそれを行う方法を見つけることができなかったので、私の質問はそれを行うことができますし、はいの場合、どのようにすることができますか?

私の現在の出発点は、文書化されていないAPIメソッドusers.profile.setで、私はユーザーのプロファイルを設定できます(ユーザープロファイルの例については以下を参照してください)。これまでのところ私は変更することができました:

  • first_nameの
  • last_nameの
  • タイトル
  • 電話
  • のSkypeユーザプロファイルはまた、プロフィール画像にURLが含まれてい

しかし、私は今までそれを変更することができませんでした。私は外部URLと、Slackにアップロード済みの画像のURLを試しました。

「未確認の」Slack APIメソッドusers.profile.setのドキュメントには、これまでに把握できるすべてのオプションがあります。linkがあります。

ご協力いただければ幸いです。その間のスラックで


アップデート2017年11月

プロフィール写真を設定するためのusers.setPhotoと呼ばれる新しいAPIメソッドを追加しました。ただし、この新しい方法ではこの質問は解決されません。これは、自分のユーザー(正確には、ユーザーがアクセストークンを持っているユーザー、たとえば別のユーザーを指定していないユーザー)にのみ機能するためです。user ID

スラックアプリ/ボットで私のスラックチームのすべてのユーザーのプロフィール写真を変更する方法を探しています。


ユーザープロファイルの例:

{ 
id: "U12345678", 
team_id: "T12345678", 
name: "erik.kalkoken", 
deleted: false, 
status: null, 
color: "9f69e7", 
real_name: "Erik Kalkoken", 
tz: "America/Chicago", 
tz_label: "Central Daylight Time", 
tz_offset: 3600, 
profile: { 
avatar_hash: "XXX", 
first_name: "Erik", 
last_name: "Kalkoken", 
title: "", 
phone: "", 
skype: "", 
image_24: "https://avatars.slack-edge.com/2016-03-19/XXX_24.jpg", 
image_32: "https://avatars.slack-edge.com/2016-03-19/XXX_32.jpg", 
image_48: "https://avatars.slack-edge.com/2016-03-19/XXX_48.jpg", 
image_72: "https://avatars.slack-edge.com/2016-03-19/XXX_72.jpg", 
image_192: "https://avatars.slack-edge.com/2016-03-19/XXX_192.jpg", 
image_512: "https://avatars.slack-edge.com/2016-03-19/XXX_512.jpg", 
image_1024: "https://avatars.slack-edge.com/2016-03-19/XXX_512.jpg", 
image_original: "https://avatars.slack-edge.com/2016-03-19/XXX_original.jpg", 
real_name: "Erik Kalkoken", 
real_name_normalized: "Erik Kalkoken", 
email: "[email protected]" 
}, 
is_admin: false, 
is_owner: false, 
is_primary_owner: false, 
is_restricted: false, 
is_ultra_restricted: false, 
is_bot: false, 
has_2fa: false 
} 

答えて

0

私はプロフィール画像のAPIはまだ利用できないと思います。私はそれがTODOリストにあったことを少し前に読んでいます。

curl https://slack.com/api/users.setPhoto \ 
    -F "token=<removed>" \ 
    -F "[email protected]/path/to/image.jpg" 

は、残念ながら、それはアニメーションGIFをアップロードする機能を削除し、自分のアバターのサイズを変更します:

+0

はい、そうかもしれません。しかし、私は実際に存在する他の「文書化されていない」APIメソッドについても同じ声明を読んでいます。だから私の希望は、プロフィールの画像を変更する方法があり、誰かがそれをどのように使用するかを理解していることです。 –

2

少しのためにそれをいじりの後、それが文書化されていないusers.setPhotoエンドポイントを使用することが可能です。

+1

本当に有望ですね。残念ながら私は新しい画像を設定する際に問題があります。常に "no_image"エラーが発生します。画像パラメータがどのように定義されているかを具体的に教えてください。多分例を挙げることができますか?ありがとう。 –

+0

また、ユーザーパラメータもないはずですか? –

+0

'@'は必須です(cURL固有)。パスは絶対パスでなければなりません。トークンを生成したユーザーはデフォルトのユーザーであり、私は他のユーザープロファイルイメージの設定について詳しく調べていませんでした。このエンドポイントの作成者がAPI全体で類似のパラメータを保持していれば、文書化された 'users.profile.set'エンドポイントで使用されているのと同じ' user'フィールドを持つユーザーを指定することができます。 –

1

私はJay Querieの方法を使用して動作させることができました。 2つの違いは私がフルパスを与えて、私はイメージを最初に入れました。 だから、私の場合:

curl https://slack.com/api/users.setPhoto -F "[email protected]:\Users\name\Pictures\dojocat.jpg" -F "token=xxxx-123-123-123-123" 

もともと私はカールを実行するためにgitbashを使用していたし、それは私のgitbashが実行されて/インストールされたディレクトリ内の画像を探していたとき。だから、dojocat.jpgを私のgitbash実行ファイルの隣に置くと、それを見つけたでしょう。

関連する問題