2014年5月14日水曜日

groovyとPushBulletを使用してモバイル機器にファイルを送信する

groovyとPushBulletを使用してモバイル機器にファイルを送信するには、以下のコードのようにfileパラメータにファイルを設定します。
※API KEYとモバイル機器のdevice idenの取得の仕方はこちらを参照
groovyとPushBulletを使用してモバイル機器にメッセージを送信する
http://groovyarekore.blogspot.jp/2014/05/groovypushbullet.html

@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.3')
@Grab(group='org.apache.httpcomponents', module='httpmime', version='4.3.3')
import org.apache.http.client.entity.*
import org.apache.http.client.methods.*
import org.apache.http.impl.client.*
import org.apache.http.auth.*
import org.apache.http.message.*
import org.apache.http.protocol.*
import org.apache.http.entity.mime.*
import groovy.json.*

// api keyはAccount Settingsから参照可能
def apikey = "<API KEYをここにペースト>"
// device idenはAPIから取得可能
def device_iden = "<device idenをここにペースト>"

def httpclient = new DefaultHttpClient()
httpclient.getCredentialsProvider().setCredentials(
  new AuthScope("api.pushbullet.com", 443),
  new UsernamePasswordCredentials(apikey, ""));


def method = new HttpPost("https://api.pushbullet.com/api/pushes")

def builder = MultipartEntityBuilder.create()
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
builder.addTextBody("device_iden", device_iden)
builder.addTextBody("type", "file")
builder.addBinaryBody("file", new File("./SF.JPG"))
method.setEntity(builder.build())

response = httpclient.execute(method)

println response.getStatusLine().getStatusCode()
def json = new JsonSlurper().parseText(response.getEntity().getContent().text)
println json

0 件のコメント:

コメントを投稿