2016-10-24 3 views
1

Ich entwickle eine Android-Anwendung, die die Verwendung von Google Vision Service von Google Cloud Platform erfordert. Zur Authentifizierung dieser verwendet eine Klasse GoogleCredential Klasse, kann der Code für die hier zu finden:Wo GOOGLE_APPLICATION_CREDENTIALS Variable in Android-Projekt festlegen?

https://cloud.google.com/vision/docs/label-tutorial#authenticating

I GOOGLE_APPLICATION_CREDENTIALS Variable als Umgebungsvariable die auf eine JSON-Datei heruntergeladen festlegen müssen aus ein weiterer Link, der nicht wichtig ist.

Die Frage ist: Wenn ich die Umgebungsvariable mit

Uri otherPath = Uri.parse("android.resource://com.example.himanshu.myapplication/DtnPhotoShare-ff552ae2c96c.json"); 
    System.setProperty("**GOOGLE_APPLICATION_CREDENTIALS**",otherPath.toString()); 

Es gibt mir Ausnahme:

java.io.IOException: Die Anwendung von Standardanmeldeinformationen sind nicht verfügbar. Sie sind verfügbar, wenn sie auf Google App Engine, Google Compute Engine oder Google Cloud Shell ausgeführt werden. Andernfalls muss die Variable GOOGLE_APPLICATION_CREDENTIALS der Umgebung definiert werden, die auf eine Datei verweist, die die Anmeldeinformationen definiert.

in Linie

GoogleCredential credential = 
       GoogleCredential.getApplicationDefault().createScoped(VisionScopes.all()); 

Der gesamte Code kann in den Link oben angegebenen finden.

Antwort

0

Sie benötigen Service-Taste auf Ihrer Festplatte und auf Linux-basierten Rechner können Sie

export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_credential_file> 

Oder alternativ diese (in Ihrem Home-Verzeichnis) zu ~/.bashrc Datei hinzufügen und Quelle es so, dass diese Umgebungsvariable zugegriffen werden kann von der Bibliothek.

Verwandte Themen