簡體   English   中英

錯誤:使用 Java => java.net.UnknownHostException 連接 Google Cloud Storage 時:oauth2.googleapis.com

[英]Error: while connecting Google Cloud Storage using Java => java.net.UnknownHostException: oauth2.googleapis.com

使用 Java 庫連接到 Google Cloud Storage 時,我們遇到以下異常:

  1. 引起:java.net.UnknownHostException:oauth2.googleapis.com
  2. 引起:java.io.IOException:獲取服務帳戶的訪問令牌時出錯:oauth2.googleapis.com

我們還創建了 Google Cloud Storage 服務帳戶、項目並下載了 JSON 文件。

下面是代碼片段:

GoogleCredentials googleCredentails = 
            ServiceAccountCredentials.fromStream(new FileInputStream("D:\\Naresh\\Projects\\GoogleCloudStorage\\delta-trees-236311-ae7c1cfcda68.json"));

Storage googleStorageService = StorageOptions.newBuilder().setCredentials(googleCredentails)
            .setProjectId("delta-trees-236311")
            .build().getService();

String googleBucketName = "ewf-ocr-poc";
File f = new File("D:\\Naresh\\Projects\\GoogleCloudStorage\\EWFDocumentThroughJava.txt");
byte[] readFileToByteArray = readFileToByteArray(f);
String fileName = f.getName();
InputStream fis = new FileInputStream(f);        
googleStorageService.create(BlobInfo.newBuilder(googleBucketName, fileName).build(),
            readFileToByteArray);

這可能是互聯網的要求。

嘗試:Android Studio:在Android Manifest上<uses-permission android:name="android.permission.INTERNET" />

Xamarin:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
         <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

在Android清單上

看起來您需要在 java 應用程序中添加 https 代理才能使您與 gcp 主機的連接正常工作。 您可以使用以下系統屬性添加:

    System.setProperty("https.proxyHost", yourProxyHost);
    System.setProperty("https.proxyPort", yourProxyPort);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM