1.PushBulletのアプリのインストール
2.Webサイトからユーザのapi keyを取得。Account Settingにapi keyが表示されているので、控えます。
https://www.pushbullet.com/
3.以下のコードを実行してモバイル機器のdevice_idenを控えます。
@Grab(group='org.apache.httpcomponents', module='httpclient', version='4.3.3') import org.apache.http.client.methods.* import org.apache.http.impl.client.* import org.apache.http.auth.* import groovy.json.* // api keyはAccount Settingsから参照可能 def apikey = "<API KEYをここにペースト>" def httpclient = new DefaultHttpClient() httpclient.getCredentialsProvider().setCredentials( new AuthScope("api.pushbullet.com", 443), new UsernamePasswordCredentials(apikey, "")); def method = new HttpGet("https://api.pushbullet.com/api/devices") response = httpclient.execute(method) println response.getStatusLine().getStatusCode() def json = new JsonSlurper().parseText(response.getEntity().getContent().text) println json println "----" for(device in json.devices){ println "${device.extras.model}=${device.iden}" }
4.以下のコードを実行して、メッセージを送信します。
@Grab(group='org.apache.httpcomponents', module='httpclient', 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 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") values = [ new BasicNameValuePair("device_iden", device_iden), new BasicNameValuePair("type", "note"), new BasicNameValuePair("title", "テストです"), new BasicNameValuePair("body", "テスト本文です。") ] method.setEntity(new UrlEncodedFormEntity(values, HTTP.UTF_8)) response = httpclient.execute(method) println response.getStatusLine().getStatusCode() def json = new JsonSlurper().parseText(response.getEntity().getContent().text) println json
0 件のコメント:
コメントを投稿