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 @@ returns_all_urls /admin/returns_all_urls + + list_current_all_activity_type_subscriptions + + com.mizo0203.twitter.account.activity.api.beta.samples.ListCurrentAllActivityTypeSubscriptionsServlet + + + + list_current_all_activity_type_subscriptions + /admin/list_current_all_activity_type_subscriptions + deactivates_subscriptions com.mizo0203.twitter.account.activity.api.beta.samples.DeactivatesSubscriptionsServlet diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 37ff5e2..a623e97 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -34,6 +34,11 @@

Hello App Engine!

is_subscribed + + + list_current_all_activity_type_subscriptions + + deactivates_subscriptions