1818
1919import com .google .protobuf .util .JsonFormat ;
2020// [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 ;
2134import com .google .chat .v1 .ChatServiceClient ;
2235import com .google .chat .v1 .CreateMessageRequest ;
2336import com .google .chat .v1 .Message ;
@@ -28,16 +41,47 @@ public class CreateMessageAppCred {
2841 public static void main (String [] args ) throws Exception {
2942 try (ChatServiceClient chatServiceClient =
3043 AuthenticationUtils .createClientWithAppCredentials ()) {
31- CreateMessageRequest request =
32- CreateMessageRequest .newBuilder ()
44+ CreateMessageRequest .Builder request = CreateMessageRequest .newBuilder ()
3345 // Replace SPACE_NAME here.
3446 .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 ());
4185
4286 System .out .println (JsonFormat .printer ().print (response ));
4387 }
0 commit comments