回答編集履歴
9
追記
test
CHANGED
@@ -44,7 +44,8 @@
|
|
44
44
|
```
|
45
45
|
|
46
46
|
# ファイルの送信とメッセージ投稿を一発で行う方法
|
47
|
+
=>channelsにチャンネルを記述&initial_commentを追加する。
|
47
|
-
|
48
|
+
https://api.slack.com/methods/files.upload
|
48
49
|
|
49
50
|
```py
|
50
51
|
import requests
|
8
追記
test
CHANGED
@@ -43,4 +43,33 @@
|
|
43
43
|
print('log:メッセージ送信完了')
|
44
44
|
```
|
45
45
|
|
46
|
+
# ファイルの送信とメッセージ投稿を一発で行う方法
|
47
|
+
[https://slack.com/api/files.upload エンドポイントを使う。](https://api.slack.com/methods/files.upload)
|
46
48
|
|
49
|
+
```py
|
50
|
+
import requests
|
51
|
+
|
52
|
+
TOKEN = "@SLACK-BOT-TOKEN"
|
53
|
+
CHANNEL = "test"
|
54
|
+
url = "https://slack.com/api/files.upload"
|
55
|
+
|
56
|
+
files = {'file': open( r'@DirPath\test.csv','br')}
|
57
|
+
filename = 'test.csv'
|
58
|
+
headers = {"Authorization": "Bearer " + TOKEN}
|
59
|
+
initial_comment = 'ファイルをアップロードしました。'
|
60
|
+
data = {
|
61
|
+
'channels' : CHANNEL,
|
62
|
+
'filename' : filename,
|
63
|
+
'initial_comment' : initial_comment
|
64
|
+
}
|
65
|
+
|
66
|
+
r = requests.post(url="https://slack.com/api/files.upload", headers=headers, data=data,
|
67
|
+
files=files, timeout=10)
|
68
|
+
response = r.json()
|
69
|
+
if not response['ok']:
|
70
|
+
print('ファイルのアップロードに失敗しました:'+response.get('error',''))
|
71
|
+
else:
|
72
|
+
print('log:アップロード成功。')
|
73
|
+
```
|
74
|
+
|
75
|
+
|
7
x
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
else:
|
25
25
|
print('log:ファイルアップロード成功')
|
26
26
|
upload_done_message = ('ファイルをアップロードしました。ダウンロードリンクはこちら:'
|
27
|
-
+ r
|
27
|
+
+ response['file']['permalink'])
|
28
28
|
|
29
29
|
r = requests.post(
|
30
30
|
'https://slack.com/api/chat.postMessage',
|
6
w
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
**ファイルのアップロードとメッセージの送信は全く別ものです**。
|
2
|
-
アップロードに成功しても自動でメッセージが投稿されるわけではないので、ファイルのアップロード後にメッセージを送信
|
2
|
+
アップロードに成功しても自動でメッセージが投稿されるわけではないので、ファイルのアップロード後にメッセージを送信しないといけません。
|
3
3
|
|
4
4
|
```py
|
5
5
|
import requests
|
5
え
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
**ファイルのアップロードとメッセージの送信は全く別ものです**。
|
2
|
-
|
2
|
+
アップロードに成功しても自動でメッセージが投稿されるわけではないので、ファイルのアップロード後にメッセージを送信する処理も書かないといけません。
|
3
3
|
|
4
4
|
```py
|
5
5
|
import requests
|
4
xc
test
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
**ファイルのアップロードとメッセージの送信は全く別ものです**。
|
2
2
|
全く当たり前の話ですが、アップロードに成功したことをslackで通知したいなら、ファイルのアップロード成功後にメッセージを通知する処理を書かないといけません。
|
3
|
-
|
3
|
+
|
4
|
-
(ただアップロードに成功したよ~って言われても、「じゃあファイルどこよ」って話になる)
|
5
4
|
```py
|
6
5
|
import requests
|
7
6
|
|
3
え
test
CHANGED
@@ -23,9 +23,9 @@
|
|
23
23
|
if not response['ok']:
|
24
24
|
print('ファイルのアップロードに失敗しました:'+response.get('error',''))
|
25
25
|
else:
|
26
|
+
print('log:ファイルアップロード成功')
|
26
27
|
upload_done_message = ('ファイルをアップロードしました。ダウンロードリンクはこちら:'
|
27
28
|
+ r.json()['file']['permalink'])
|
28
|
-
print('log:ファイル送信完了')
|
29
29
|
|
30
30
|
r = requests.post(
|
31
31
|
'https://slack.com/api/chat.postMessage',
|
2
r
test
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
**ファイルのアップロードとメッセージの送信は全く別ものです**。
|
2
2
|
全く当たり前の話ですが、アップロードに成功したことをslackで通知したいなら、ファイルのアップロード成功後にメッセージを通知する処理を書かないといけません。
|
3
|
-
|
3
|
+
レスポンスにアップロードしたファイルのダウンロードリンクが含まれているので、通常ならメッセージにそのリンクを含めますよね。
|
4
|
+
(ただアップロードに成功したよ~って言われても、「じゃあファイルどこよ」って話になる)
|
4
5
|
```py
|
5
6
|
import requests
|
6
7
|
|
1
r
test
CHANGED
@@ -18,12 +18,14 @@
|
|
18
18
|
|
19
19
|
r = requests.post(url=url, headers=headers, data=data, files=files,timeout=10)
|
20
20
|
response = r.json()
|
21
|
+
|
21
22
|
if not response['ok']:
|
22
23
|
print('ファイルのアップロードに失敗しました:'+response.get('error',''))
|
23
24
|
else:
|
24
25
|
upload_done_message = ('ファイルをアップロードしました。ダウンロードリンクはこちら:'
|
25
26
|
+ r.json()['file']['permalink'])
|
26
27
|
print('log:ファイル送信完了')
|
28
|
+
|
27
29
|
r = requests.post(
|
28
30
|
'https://slack.com/api/chat.postMessage',
|
29
31
|
headers=headers,
|