YouTube API mit Java benutzen

Viele YouTube API-Tutorials, die ich gesehen habe, sind ziemlich abenteuerlich und umständlich. Das liegt zum Teil daran, dass sich die Authentifizierung ein wenig geändert hat aber zum Teil auch wieder daran, dass die anderen Blogger es nicht besser wussten oder Abhängigkeiten (Dependencies) nicht über Maven bezogen haben.

Die Kommunikation mit YouTube ist dank der Google Data APIs ein Kinderspiel. Alles was man braucht ist ein Developer Key (über das YouTube API Dashboard zu bekommen) und schon kann es losgehen!

Hinweis: Möchte man nur Daten vom YouTube-Service abrufen, dann kann man auch ohne Angabe des Developer Keys loslegen.
YouTube API mit Java benutzen weiterlesen

UTF-8 kodierte Java-Builds mit Maven

Um möglichst systemunabhängig zu sein, sollte man seinen Code im UTF-8 Zeichensatz speichern. Beachtet man das nicht, meldet Maven beim Buildvorgang möglicherweise folgende Warnung:

Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

Um den UTF-8 Zeichensatz in Maven zu erzwingen, muss die Eigenschaft project.build.sourceEncoding in der Konfigurationsdatei pom.xml gesetzt werden. Wer Analyse-Tools wie Cobertura einsetzt, der sollte außerdem noch die Eigenschaft project.reporting.outputEncoding auf UTF-8 setzen, damit die Logfiles ebenfalls mit UTF-8 kodiert werden.

Beispiel

1
2
3
4
5
6
7
8
9
10
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  ...
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>
  ...
</project>

Where does Maven store the dependencies?

Last time I declared this Maven dependency in my pom.xml:

<dependency>
  <groupId>com.tinkerpop.blueprints</groupId>
  <artifactId>blueprints-core</artifactId>
  <version>1.2</version>
</dependency>

I then requested the download of this dependency and got blueprints-core-1.2.jar. But where has this dependency been saved? I then found out that the dependencies are saved to the user’s Maven home directory (e.g. C:\Users\bennyn\.m2).

Finally I found the file here:
C:\Users\bennyn\.m2\repository\com\tinkerpop\blueprints\blueprints-core\1.2\blueprints-core-1.2.jar

You can also specify the location yourself. To do that, you just have to change the Maven local repository in the settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>C:\dev\temp</localRepository>
  ...
</settings>