18
18
19
19
import com .google .protobuf .util .JsonFormat ;
20
20
// [START chat_CreateMessageAppCred]
21
+ import com .google .apps .card .v1 .Button ;
22
+ import com .google .apps .card .v1 .ButtonList ;
23
+ import com .google .apps .card .v1 .Card ;
24
+ import com .google .apps .card .v1 .Icon ;
25
+ import com .google .apps .card .v1 .MaterialIcon ;
26
+ import com .google .apps .card .v1 .OnClick ;
27
+ import com .google .apps .card .v1 .OpenLink ;
28
+ import com .google .apps .card .v1 .TextParagraph ;
29
+ import com .google .apps .card .v1 .Widget ;
30
+ import com .google .apps .card .v1 .Card .CardHeader ;
31
+ import com .google .apps .card .v1 .Card .Section ;
32
+ import com .google .chat .v1 .AccessoryWidget ;
33
+ import com .google .chat .v1 .CardWithId ;
21
34
import com .google .chat .v1 .ChatServiceClient ;
22
35
import com .google .chat .v1 .CreateMessageRequest ;
23
36
import com .google .chat .v1 .Message ;
@@ -28,16 +41,47 @@ public class CreateMessageAppCred {
28
41
public static void main (String [] args ) throws Exception {
29
42
try (ChatServiceClient chatServiceClient =
30
43
AuthenticationUtils .createClientWithAppCredentials ()) {
31
- CreateMessageRequest request =
32
- CreateMessageRequest .newBuilder ()
44
+ CreateMessageRequest .Builder request = CreateMessageRequest .newBuilder ()
33
45
// Replace SPACE_NAME here.
34
46
.setParent ("spaces/SPACE_NAME" )
35
- .setMessage (
36
- Message .newBuilder ()
37
- .setText ("Hello with app credentials!" )
38
- .build ())
39
- .build ();
40
- Message response = chatServiceClient .createMessage (request );
47
+ .setMessage (Message .newBuilder ()
48
+ .setText ( "👋🌎 Hello world! I created this message by calling " +
49
+ "the Chat API\' s `messages.create()` method." )
50
+ .addCardsV2 (CardWithId .newBuilder ().setCard (Card .newBuilder ()
51
+ .setHeader (CardHeader .newBuilder ()
52
+ .setTitle ("About this message" )
53
+ .setImageUrl ("https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/info/default/24px.svg" ))
54
+ .addSections (Section .newBuilder ()
55
+ .setHeader ("Contents" )
56
+ .addWidgets (Widget .newBuilder ().setTextParagraph (TextParagraph .newBuilder ().setText (
57
+ "🔡 <b>Text</b> which can include " +
58
+ "hyperlinks 🔗, emojis 😄🎉, and @mentions 🗣️." )))
59
+ .addWidgets (Widget .newBuilder ().setTextParagraph (TextParagraph .newBuilder ().setText (
60
+ "🖼️ A <b>card</b> to display visual elements " +
61
+ "and request information such as text 🔤, " +
62
+ "dates and times 📅, and selections ☑️." )))
63
+ .addWidgets (Widget .newBuilder ().setTextParagraph (TextParagraph .newBuilder ().setText (
64
+ "👉🔘 An <b>accessory widget</b> which adds " +
65
+ "a button to the bottom of a message." ))))
66
+ .addSections (Section .newBuilder ()
67
+ .setHeader ("What's next" )
68
+ .setCollapsible (true )
69
+ .addWidgets (Widget .newBuilder ().setTextParagraph (TextParagraph .newBuilder ().setText (
70
+ "❤️ <a href='https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.reactions/create'>Add a reaction</a>." )))
71
+ .addWidgets (Widget .newBuilder ().setTextParagraph (TextParagraph .newBuilder ().setText (
72
+ "🔄 <a href='https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/patch'>Update</a> " +
73
+ "or ❌ <a href='https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/delete'>delete</a> " +
74
+ "the message." ))))))
75
+ .addAccessoryWidgets (AccessoryWidget .newBuilder ()
76
+ .setButtonList (ButtonList .newBuilder ()
77
+ .addButtons (Button .newBuilder ()
78
+ .setText ("View documentation" )
79
+ .setIcon (Icon .newBuilder ()
80
+ .setMaterialIcon (MaterialIcon .newBuilder ().setName ("link" )))
81
+ .setOnClick (OnClick .newBuilder ()
82
+ .setOpenLink (OpenLink .newBuilder ()
83
+ .setUrl ("https://developers.google.com/workspace/chat/create-messages" )))))));
84
+ Message response = chatServiceClient .createMessage (request .build ());
41
85
42
86
System .out .println (JsonFormat .printer ().print (response ));
43
87
}
0 commit comments