Skip to content

Commit a56b2f9

Browse files
committed
feat(methods): add canvases.create and canvases.getContent examples
1 parent e85ee26 commit a56b2f9

4 files changed

Lines changed: 90 additions & 0 deletions

File tree

‎methods/README.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ $ mvn compile exec:java -Dexec.mainClass=chat.ChatPostMessage # Make the reques
3434

3535
- **[blocks.validate](https://docs.slack.dev/reference/methods/blocks.validate)**: Validates blocks, messages, and views Block Kit JSON payloads. [Implementation](./src/main/java/blocks/BlocksValidate.java).
3636

37+
### canvases
38+
39+
- **[canvases.create](https://docs.slack.dev/reference/methods/canvases.create)**: Create canvas for a user. [Implementation](./src/main/java/canvases/CanvasesCreate.java).
40+
- **[canvases.getContent](https://docs.slack.dev/reference/methods/canvases.getContent)**: Get the content of a canvas as markdown (default) or HTML. [Implementation](./src/main/java/canvases/CanvasesGetContent.java).
41+
3742
### chat
3843

3944
- **[chat.postMessage](https://docs.slack.dev/reference/methods/chat.postmessage)**: Sends a message to a channel. [Implementation](./src/main/java/chat/ChatPostMessage.java).
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package canvases;
2+
3+
import com.slack.api.Slack;
4+
import com.slack.api.methods.MethodsClient;
5+
import com.slack.api.methods.SlackApiException;
6+
import com.slack.api.methods.request.canvases.CanvasesCreateRequest;
7+
import com.slack.api.methods.response.canvases.CanvasesCreateResponse;
8+
import com.slack.api.model.canvas.CanvasDocumentContent;
9+
import java.io.IOException;
10+
11+
public class CanvasesCreate {
12+
13+
public static void main(String[] args) throws IOException, SlackApiException {
14+
// Read a token from an environment variable
15+
String token = System.getenv("SLACK_TOKEN");
16+
17+
// Initialize
18+
MethodsClient methods = Slack.getInstance().methods(token);
19+
20+
// Call the canvases.create method
21+
CanvasesCreateRequest request = CanvasesCreateRequest.builder()
22+
.title("Your Brilliant Title")
23+
.documentContent(CanvasDocumentContent.builder()
24+
.type("markdown")
25+
.markdown("> standalone canvas!")
26+
.build())
27+
.channelId("C0123456789")
28+
.build();
29+
CanvasesCreateResponse response = methods.canvasesCreate(request);
30+
31+
// Inspect the response
32+
System.out.println(response);
33+
}
34+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package canvases;
2+
3+
import com.slack.api.Slack;
4+
import com.slack.api.methods.MethodsClient;
5+
import com.slack.api.methods.SlackApiException;
6+
import com.slack.api.methods.request.canvases.CanvasesGetContentRequest;
7+
import com.slack.api.methods.response.canvases.CanvasesGetContentResponse;
8+
import java.io.IOException;
9+
10+
public class CanvasesGetContent {
11+
12+
public static void main(String[] args) throws IOException, SlackApiException {
13+
// Read a token from an environment variable
14+
String token = System.getenv("SLACK_TOKEN");
15+
16+
// Initialize
17+
MethodsClient methods = Slack.getInstance().methods(token);
18+
19+
// Call the canvases.getContent method
20+
CanvasesGetContentRequest request = CanvasesGetContentRequest.builder()
21+
.canvasId("F1234567890")
22+
.contentType("markdown")
23+
.build();
24+
CanvasesGetContentResponse response = methods.canvasesGetContent(request);
25+
26+
// Inspect the response
27+
System.out.println(response);
28+
}
29+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"display_information": {
3+
"name": "Slack API Methods",
4+
"description": "Example implementations to call \"canvases\" methods"
5+
},
6+
"features": {
7+
"bot_user": {
8+
"display_name": "Slack API Methods",
9+
"always_online": true
10+
}
11+
},
12+
"oauth_config": {
13+
"scopes": {
14+
"bot": ["canvases:read", "canvases:write"]
15+
}
16+
},
17+
"settings": {
18+
"org_deploy_enabled": true,
19+
"socket_mode_enabled": false,
20+
"token_rotation_enabled": false
21+
}
22+
}

0 commit comments

Comments
 (0)