I found all of uploading file examples in java listed in Google Cloud Storage are too old, which are not suited to current Google Cloud Storage environment. By the way, the json structure in "confidential.json" file has been modified which can not parsed by GoogleCredentials class.