0

4 일이 지났습니다. Google Cloud Storage에 나열된 파일을 내 앱에 다운로드하고 싶습니다. 대상 :서블릿의 GCS 버킷 안에 파일을 나열하고 blob로 서비스하십시오.

1) GAE에서 내 애플리케이션을 만들고 내 Google Cloud Storage 프로젝트를 설정하고 내 버킷을 만들었습니다.

2) 이제 "mybucket"파일을 나열하는 서블릿을 작성하고 (HTTP 응답을 통해) 내 안드로이드 애플 리케이션 내부에서 읽고 blob을 제공하여 SD 카드 나 메모리에 저장하십시오. 이 작업을 수행하기 위해 코드 조각을 수집했지만 코드를 결합하는 방법을 알지 못합니다.

내가 제대로하고 있는지 확실하지 않습니다. 어떤 도움이나 링크 또는 제안은 높이 평가됩니다. 추가 정보가 필요하면 알려주십시오. 스텝 2)를 구현하는 서블릿에 갈 것

코드 :

Storage.Objects.List listObjects = storage.objects().list("mybucket"); 
Objects objects; 
do { 
    objects = listObjects.execute(); 
    for (StorageObject object : objects.getItems()) { 
    // Do things! 
    } 
    listObjects.setPageToken(objects.getNextPageToken()); 
} while (null != objects.getNextPageToken()); 

BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); 
BlobKey blobKey = blobstoreService.createGsBlobKey(
    "/gs/"+"androidbucket"+"/"+filename"); 
blobstoreService.serve(blobKey, resp); 

지금이 코드에 대한 내 질문은 "Storage.Objects.List"어떤에서 보이게 한 프로젝트 알고가는 방법이다 "mybucket"을 위해 ?? GAE의 응용 프로그램 설정에서이 행을 읽었 기 때문에 "새 버킷을 만들거나 프로젝트 소유의 버킷을 나열 할 때 x-goog-project-id HTTP 헤더를 지정하여 사용중인 프로젝트를 식별해야합니다."

EDIT : 또한 "Storage.Objects.List"에서 내 서블릿을 컴파일 할 수 없습니다. 이 링크에서 Cloud Storage API를 다운로드했습니다 : https://code.google.com/p/google-api-java-client/wiki/APIs#Cloud_Storage_API .. Thanks !!

답변

1

견적 :

새로운 버킷을 만들거나 프로젝트가 소유 한 버킷을 나열하는 경우, 당신은 당신이 프로젝트를 식별 하기 위해 X-GOOG-프로젝트 ID HTTP 헤더를 지정해야합니다 사용.

이것은 버킷 목록 입니다. 버킷에 개체을 나열하고 있습니다.

버킷 목록을 검색하는 경우 프로젝트 ID를 전달해야합니다. reference for buckets.list이 수행하는 방법을 보여줍니다 :

Storage.Buckets.List listBuckets = storage.buckets().list("myproject"); 
+0

감사를 많이 @의 jterrace..that가 지워 내 confusion..Also 나는 클라우드 다운로드 한 내 servlet..I에서 "Storage.Object.List"를 컴파일 할 수 없습니다입니다 스토리지 API지만 내 서블릿 프로젝트에 추가해야 할 jar 파일이 확실하지 않습니다. Cloud Storage API에 대한 링크 : https : //code.google.com/p/google-api-java-client/wiki/APIs#Cloud_Storage_API –

관련 문제