Merge pull request #4246 from michael-pratt/BAEL-1745
BAEL-1745: Sending SMS in Java with Twilio
This commit is contained in:
commit
c9f25211c0
|
@ -0,0 +1,12 @@
|
|||
package com.baeldung.demo.eventstreamwebfluxdemo;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class EventStreamServer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(EventStreamServer.class, args);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package com.baeldung.demo.eventstreamwebfluxdemo.client;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
|
||||
public class EventStreamClient {
|
||||
public static void main(String[] args)
|
||||
{
|
||||
WebClient.create("http://127.0.0.1:8080")
|
||||
.get()
|
||||
.uri("/events")
|
||||
.accept(MediaType.APPLICATION_STREAM_JSON)
|
||||
.retrieve()
|
||||
.bodyToFlux(Long.class)
|
||||
.toStream()
|
||||
.forEach(item -> System.out.println("New event : " + item));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.baeldung.demo.eventstreamwebfluxdemo.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import reactor.core.publisher.Flux;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
@RestController
|
||||
public class EventStreamController
|
||||
{
|
||||
@RequestMapping("/events")
|
||||
public Flux<Long> getServerEvents()
|
||||
{
|
||||
return Flux.interval(Duration.ofMillis(1000));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.baeldung.demo.eventstreamwebfluxdemo;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
public class EventStreamServerTests {
|
||||
|
||||
@Test
|
||||
public void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>com.baeldung.twilio</groupId>
|
||||
<artifactId>sms</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.twilio.sdk</groupId>
|
||||
<artifactId>twilio</artifactId>
|
||||
<version>7.20.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,22 @@
|
|||
import com.twilio.Twilio;
|
||||
import com.twilio.rest.api.v2010.account.Message;
|
||||
import com.twilio.type.PhoneNumber;
|
||||
|
||||
public class TwilioSmsExample {
|
||||
// Find your Account Sid and Token at twilio.com/console
|
||||
public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID";
|
||||
public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN";
|
||||
|
||||
// Create a phone number in the Twilio console
|
||||
public static final String TWILIO_NUMBER = "+13334445555";
|
||||
|
||||
public static void main(String[] args) {
|
||||
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
|
||||
Message message = Message.creator(
|
||||
new PhoneNumber("+12227779999"),
|
||||
new PhoneNumber(TWILIO_NUMBER),
|
||||
"Sample Twilio SMS using Java")
|
||||
.create();
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
import com.twilio.Twilio;
|
||||
import com.twilio.converter.Promoter;
|
||||
import com.twilio.rest.api.v2010.account.Message;
|
||||
import com.twilio.type.PhoneNumber;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
public class TwilioSmsMediaExample {
|
||||
// Find your Account Sid and Token at twilio.com/console
|
||||
public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID";
|
||||
public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN";
|
||||
|
||||
// Create a phone number in the Twilio console
|
||||
public static final String TWILIO_NUMBER = "+13334445555";
|
||||
|
||||
public static void main(String[] args) {
|
||||
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
|
||||
Message message = Message.creator(
|
||||
new PhoneNumber("+12227779999"),
|
||||
new PhoneNumber(TWILIO_NUMBER),
|
||||
"Sample Twilio MMS using Java")
|
||||
.setMediaUrl(
|
||||
Promoter.listOfOne(
|
||||
URI.create("http://www.baeldung.com/wp-content/uploads/2017/10/icon-javaseries-home.png")))
|
||||
.create();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
import com.google.common.util.concurrent.FutureCallback;
|
||||
import com.google.common.util.concurrent.Futures;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
import com.twilio.Twilio;
|
||||
import com.twilio.base.ResourceSet;
|
||||
import com.twilio.rest.api.v2010.account.Message;
|
||||
|
||||
public class TwilioSmsStatusAsyncExample {
|
||||
// Find your Account Sid and Token at twilio.com/console
|
||||
public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID";
|
||||
public static final String AUTH_TOKEN = "YOUR_AUTH_TOKEN";
|
||||
|
||||
// Create a phone number in the Twilio console
|
||||
public static final String TWILIO_NUMBER = "+13334445555";
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
|
||||
ListenableFuture<ResourceSet<Message>> future = Message.reader().readAsync();
|
||||
Futures.addCallback(
|
||||
future,
|
||||
new FutureCallback<ResourceSet<Message>>() {
|
||||
public void onSuccess(ResourceSet<Message> messages) {
|
||||
for (Message message : messages) {
|
||||
System.out.println(message.getSid() + " : " + message.getStatus());
|
||||
}
|
||||
}
|
||||
|
||||
public void onFailure(Throwable t) {
|
||||
System.out.println("Failed to get message status: " + t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import com.twilio.Twilio;
|
||||
import com.twilio.base.ResourceSet;
|
||||
import com.twilio.rest.api.v2010.account.Message;
|
||||
import com.twilio.type.PhoneNumber;
|
||||
|
||||
public class TwilioSmsStatusExample {
|
||||
// Find your Account Sid and Token at twilio.com/console
|
||||
public static final String ACCOUNT_SID = "YOUR_ACCOUNT_SID";
|
||||
public static final String AUTH_TOKEN = "YOUR_ACCOUNT_TOKEN";
|
||||
|
||||
// Create a phone number in the Twilio console
|
||||
public static final String TWILIO_NUMBER = "+13334445555";
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
|
||||
ResourceSet<Message> messages = Message.reader().read();
|
||||
for (Message message : messages) {
|
||||
System.out.println(message.getSid() + " : " + message.getStatus());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue