Java tutorial
// // Copyright 2016 Cityzen Data // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package io.warp10.script.functions; import io.warp10.script.NamedWarpScriptFunction; import io.warp10.script.WarpScriptStackFunction; import io.warp10.script.WarpScriptException; import io.warp10.script.WarpScriptStack; import twitter4j.Twitter; import twitter4j.TwitterException; import twitter4j.TwitterFactory; import twitter4j.conf.ConfigurationBuilder; /** * Send a Twitter DM (Direct Message) */ public class TWITTERDM extends NamedWarpScriptFunction implements WarpScriptStackFunction { public TWITTERDM(String name) { super(name); } @Override public Object apply(WarpScriptStack stack) throws WarpScriptException { // // Extract parameters // String text = stack.pop().toString(); String recipient = stack.pop().toString(); String accessSecret = stack.pop().toString(); String accessToken = stack.pop().toString(); String consumerSecret = stack.pop().toString(); String consumerKey = stack.pop().toString(); ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true).setOAuthConsumerKey(consumerKey).setOAuthConsumerSecret(consumerSecret) .setOAuthAccessToken(accessToken).setOAuthAccessTokenSecret(accessSecret); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); try { twitter.sendDirectMessage(recipient, text); } catch (TwitterException te) { throw new WarpScriptException("Error while sending Twitter Direct Message", te); } return stack; } }