brainbaking/content/wiki/code/java/google-api.md

81 lines
2.0 KiB
Markdown
Raw Normal View History

2017-02-26 13:28:18 +01:00
+++
title = "google-api"
draft = false
tags = [
"code",
"java",
"google-api"
]
date = "2013-03-12"
+++
# Google-api
## Google Endpoints Client lib
##### Genereren van java files
```bash
Timestamp: Tue Dec 11 12:41:31 CET 2012
#!/bin/sh
echo "--- COMPILING..."
mvn clean compile
echo "--- REMOVING OLD FILES & COPYING TO WEB-INF..."
rm -rf ./war/WEB-INF/devices-*
rm -rf ./war/WEB-INF/classes
cp -rf ./target/classes ./war/WEB-INF/
echo "--- GENERATING ENDPOINTS..."
/Users/jefklak/development/appengine/bin/endpoints.sh get-java-client-lib be.klak.gatecontrolweb.DevicesController
echo "--- EXTRACTING SOURCE JAR..."
cd ./war/WEB-INF
rm -rf devices
unzip devices-v1-java.zip
cd devices
unzip `ls | grep sources.jar`
cp -rf com ~/development/gatecontrol/receiver/src/main/java
echo "--- DONE!"```
##### maven deps voor de client
```xml
<dependency>
<groupId>com.google.oauth-client</groupId>
<artifactId>google-oauth-client</artifactId>
<version>1.13.1-beta</version>
</dependency>
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.13.2-beta</version>
</dependency>
<dependency>
<groupId>com.google.http-client</groupId>
<artifactId>google-http-client-jackson2</artifactId>
<version>1.13.1-beta</version>
</dependency>
```
oauth is de enige compile dependency die aangeduid staat, maar api-client is nodig voor de algemene http transport - zie http://code.google.com/p/google-api-java-client/
Een client call maken kan je dan zo doen:
```java
NetHttpTransport transport = new NetHttpTransport();
// laatste param is voor credentials mee te geven
Devices devices = new Devices.Builder(transport, new JacksonFactory(), null).build();
try {
devices.houses().all().execute().getItems();
} catch (IOException e) {
e.printStackTrace();
}
```
`JacksonFactory` zit blijkbaar nergens in buiten in de `google-http-client-jackson2` lib.
Authenticatie etc: **zie [google-api-java-client OAuth2 wiki](http://code.google.com/p/google-api-java-client/wiki/OAuth2)**