diff --git a/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/ListCurrentAllActivityTypeSubscriptionsServlet.java b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/ListCurrentAllActivityTypeSubscriptionsServlet.java new file mode 100644 index 0000000..588df8d --- /dev/null +++ b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/ListCurrentAllActivityTypeSubscriptionsServlet.java @@ -0,0 +1,18 @@ +package com.mizo0203.twitter.account.activity.api.beta.samples; + +import com.mizo0203.twitter.account.activity.api.beta.samples.domain.UseCase; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class ListCurrentAllActivityTypeSubscriptionsServlet extends HttpServlet { + + @Override + public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + try (UseCase useCase = new UseCase()) { + useCase.listCurrentAllActivityTypeSubscriptions(); + } + } +} diff --git a/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/domain/UseCase.java b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/domain/UseCase.java index 06a7bba..d80b8d4 100644 --- a/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/domain/UseCase.java +++ b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/domain/UseCase.java @@ -61,6 +61,18 @@ public void isSubscribed() { mTwitterClient.isSubscribed(); } + /** + * Returns a list of the current All Activity type subscriptions. Note that the /list endpoint + * requires App-only Oauth, so requests should be made using a bearer token instead of app-user + * auth. + * + *
現在のAll Activity型サブスクリプションのリストを返します。 / listエンドポイントではApp-only Oauthが必要なので、app-user + * authの代わりにベアラトークンを使用してリクエストする必要があります。 + */ + public void listCurrentAllActivityTypeSubscriptions() { + mTwitterClient.listCurrentAllActivityTypeSubscriptions(); + } + /** * Deactivates subscription(s) for the provided user context and app for all activities. After * deactivation, all All events for the requesting user will no longer be sent to the webhook URL. diff --git a/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/repo/TwitterClient.java b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/repo/TwitterClient.java index 5050019..fcd1944 100644 --- a/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/repo/TwitterClient.java +++ b/src/main/java/com/mizo0203/twitter/account/activity/api/beta/samples/repo/TwitterClient.java @@ -21,6 +21,8 @@ public class TwitterClient { "https://api.twitter.com/1.1/account_activity/all/env-beta/subscriptions.json"; private static final String TWITTER_API_ACCOUNT_ACTIVITY_COUNT_URL_STR = "https://api.twitter.com/1.1/account_activity/all/count.json"; + private static final String TWITTER_API_ACCOUNT_ACTIVITY_LIST_SUBSCRIPTIONS_URL_STR = + "https://api.twitter.com/1.1/account_activity/all/:env_name/subscriptions/list.json"; private final Twitter mTwitter; private final Twitter4JUtil mTwitter4JUtil; @@ -118,6 +120,29 @@ public void isSubscribed() { } } + /** + * Returns a list of the current All Activity type subscriptions. Note that the /list endpoint + * requires App-only Oauth, so requests should be made using a bearer token instead of app-user + * auth. + * + *
現在のAll Activity型サブスクリプションのリストを返します。 / listエンドポイントではApp-only Oauthが必要なので、app-user
+ * authの代わりにベアラトークンを使用してリクエストする必要があります。
+ */
+ public void listCurrentAllActivityTypeSubscriptions() {
+ try {
+ HttpResponse ret =
+ mTwitter4JUtil
+ .getApplicationOnlyAuthentication()
+ .get(TWITTER_API_ACCOUNT_ACTIVITY_LIST_SUBSCRIPTIONS_URL_STR);
+ LOG.log(
+ Level.INFO, "listCurrentAllActivityTypeSubscriptions ret.toString(): " + ret.toString());
+ LOG.log(
+ Level.INFO, "listCurrentAllActivityTypeSubscriptions ret.asString(): " + ret.asString());
+ } catch (TwitterException e) {
+ e.printStackTrace();
+ }
+ }
+
/**
* Deactivates subscription(s) for the provided user context and app for all activities. After
* deactivation, all All events for the requesting user will no longer be sent to the webhook URL.
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 5ff33c9..76f1706 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -43,6 +43,16 @@
Hello App Engine!
+ is_subscribed
+
+ list_current_all_activity_type_subscriptions
+
+
deactivates_subscriptions