2013-07-25 4 views
3

에 parentId없이 Google 드라이브에서 파일을 삽입, 나는 다음과 같은 방법의 매개 변수 parentId 설정해야 이해 : 이제는 드라이브의 특정 폴더에 파일을 업로드 자바

File body = new File(); 
    body.setParents(Arrays.asList(new ParentReference().setId(parentId))); 

을한다 거기에 다른 매개 변수를 사용하는 방법? 내 문제는 내 Gson 파서로 드라이브의 특정 폴더에서 리소스를 검색 할 때 parentId 속성은 항상 null입니다. 왜 그런 일이 일어나는거야? 업로드 할 때 ID를 설정해야합니까? drive.google.com 사이트에서 폴더를 직접 생성하면 어떻게됩니까? title이나 dateCreated 같은 다른 매개 변수도 제대로 작동합니다.

감사합니다.

편집 : 진행 상황을 보여주는 코드를 추가했습니다.

MyJson.java 

@SerializedName("parentId") 
private String parentId; 

@SerializedName("createdDate") 
private String createdDate; 

public final String getDateCreated(){ 
return this.createdDate; 
} 

public final String getParentId(){ 
return this.parentId; 
} 

Main.java 

public static String[] jsonParser(String jsonText){ 

Gson gson = new Gson(); 

    JsonParser parser = new JsonParser(); 

    JsonArray Jarray = parser.parse(jsonText).getAsJsonArray(); 

    ArrayList<MyJson> lcs = new ArrayList<MyJson>(); 

    StringBuilder sb = new StringBuilder(); 
    //Please ignore this Stringbuilder is just for testing purposes 
    for(JsonElement obj : Jarray) 
    { 
     MyJson cse = gson.fromJson(obj , MyJson.class); 
     lcs.add(cse); 
    } 

    List<String> strings = new ArrayList<String>(); 

    for(MyJson j: lcs){ 
     strings.add(j.getTitle()); 
     sb.append(j.getParentId() + " " + j.getDateCreated()); 
    } 

    System.out.println(sb.toString()); //Here it prints out null+date 


    String[] arr = strings.toArray(new String[strings.size()]); 

    //When I print this array shows the title perfectly 
    return arr; 

} 

이것은 이전 방법으로 전달한 텍스트 리소스입니다.

[[{"alternateLink":"https://docs.google.com/folderview?id=0Byylok4NwwGOR2VTX1JOb1BnNDg&usp=drivesdk","appDataContents":false,"createdDate":"2013-07-25T06:17:20.228Z","editable":true,"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/MTM3NDczMzA0MDIyOA\"","iconLink":"https://ssl.gstatic.com/docs/doclist/images/icon_11_collection_list.png","id":"0Byylok4NwwGOR2VTX1JOb1BnNDg","kind":"drive#file","labels":{"hidden":false,"restricted":false,"starred":false,"trashed":false,"viewed":false},"lastModifyingUser":{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}},"lastModifyingUserName":"Luis Manuel Lavieri","mimeType":"application/vnd.google-apps.folder","modifiedDate":"2013-07-25T06:17:20.228Z","ownerNames":["Luis Manuel Lavieri"],"owners":[{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}}],"parents":[{"id":"0ACylok4NwwGOUk9PVA","isRoot":true,"kind":"drive#parentReference","parentLink":"https://www.googleapis.com/drive/v2/files/0ACylok4NwwGOUk9PVA","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOR2VTX1JOb1BnNDg/parents/0ACylok4NwwGOUk9PVA"}],"quotaBytesUsed":"0","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOR2VTX1JOb1BnNDg","shared":false,"title":"Web Design","userPermission":{"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/Rok55oKCdYb_mqyTjquQPLiUiIg\"","id":"me","kind":"drive#permission","role":"owner","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOR2VTX1JOb1BnNDg/permissions/me","type":"user"},"writersCanShare":true}, {"alternateLink":"https://docs.google.com/folderview?id=0Byylok4NwwGORzhjODJPeVVUYXM&usp=drivesdk","appDataContents":false,"createdDate":"2013-07-25T06:17:10.835Z","editable":true,"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/MTM3NDczMzAzMDgzNQ\"","iconLink":"https://ssl.gstatic.com/docs/doclist/images/icon_11_collection_list.png","id":"0Byylok4NwwGORzhjODJPeVVUYXM","kind":"drive#file","labels":{"hidden":false,"restricted":false,"starred":false,"trashed":false,"viewed":false},"lastModifyingUser":{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}},"lastModifyingUserName":"Luis Manuel Lavieri","mimeType":"application/vnd.google-apps.folder","modifiedDate":"2013-07-25T06:17:10.835Z","ownerNames":["Luis Manuel Lavieri"],"owners":[{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}}],"parents":[{"id":"0ACylok4NwwGOUk9PVA","isRoot":true,"kind":"drive#parentReference","parentLink":"https://www.googleapis.com/drive/v2/files/0ACylok4NwwGOUk9PVA","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGORzhjODJPeVVUYXM/parents/0ACylok4NwwGOUk9PVA"}],"quotaBytesUsed":"0","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGORzhjODJPeVVUYXM","shared":false,"title":"Finance","userPermission":{"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/Hsb4mdHUJCfDZwXE6ivhuygOXig\"","id":"me","kind":"drive#permission","role":"owner","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGORzhjODJPeVVUYXM/permissions/me","type":"user"},"writersCanShare":true}, {"alternateLink":"https://docs.google.com/folderview?id=0Byylok4NwwGOa1E5Zng1dTVpZ0U&usp=drivesdk","appDataContents":false,"createdDate":"2013-07-25T06:17:00.482Z","editable":true,"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/MTM3NDczMzAyMDQ4Mg\"","iconLink":"https://ssl.gstatic.com/docs/doclist/images/icon_11_collection_list.png","id":"0Byylok4NwwGOa1E5Zng1dTVpZ0U","kind":"drive#file","labels":{"hidden":false,"restricted":false,"starred":false,"trashed":false,"viewed":false},"lastModifyingUser":{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}},"lastModifyingUserName":"Luis Manuel Lavieri","mimeType":"application/vnd.google-apps.folder","modifiedDate":"2013-07-25T06:17:00.482Z","ownerNames":["Luis Manuel Lavieri"],"owners":[{"displayName":"Luis Manuel Lavieri","isAuthenticatedUser":true,"kind":"drive#user","permissionId":"13217068352953415214","picture":{"url":"https://lh3.googleusercontent.com/-yNHuP50oJzI/AAAAAAAAAAI/AAAAAAAAAIQ/Wv4lZdE3FyU/s64/photo.jpg"}}],"parents":[{"id":"0ACylok4NwwGOUk9PVA","isRoot":true,"kind":"drive#parentReference","parentLink":"https://www.googleapis.com/drive/v2/files/0ACylok4NwwGOUk9PVA","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOa1E5Zng1dTVpZ0U/parents/0ACylok4NwwGOUk9PVA"}],"quotaBytesUsed":"0","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOa1E5Zng1dTVpZ0U","shared":false,"title":"Marketing","userPermission":{"etag":"\"RFvxxXV9yoZniidCHgcusodAlXI/1meV_djX_pEtNrpJb1GQPQAT5hw\"","id":"me","kind":"drive#permission","role":"owner","selfLink":"https://www.googleapis.com/drive/v2/files/0Byylok4NwwGOa1E5Zng1dTVpZ0U/permissions/me","type":"user"},"writersCanShare":true}]] 

내가 거기 ID의 여러 유형이 있다는 것을 알고, 나는 (parentId, folderId)하지만 찾고 있어요하지 무엇을 어떻게해야합니까 어떻게 "웹 디자인"폴더에 파일을 삽입하기를 원한다면 ? 어떻게 그 ID를 설정할 수 있습니까? null 값으로 무엇을해야합니까?

+0

코드에 parentId가 설정되는 위치를 얻을 수 있습니까? –

+0

"Gson 파서로 드라이브의 특정 폴더에서 리소스를 검색 할 때 parentId 속성은 항상 null입니다"라는 주된 문제가있는 것처럼 보입니다. 특정 폴더의 리소스를 검색하는 코드를 공유 할 수 있습니까? –

+0

물론, 나는 질문을 편집하고 나에게 문제의 근원을 추가했다고 덧붙였다. 시간 내 주셔서 감사합니다. –

답변

0

부모 개체 목록과 마찬가지로 부모 개체를 같은 방식으로 읽어야합니다.

"parents": [ 
    parents Resource 
], 

아니 부모.

+0

감사합니다. 그 목록을 어떻게 읽어야합니까? 어떻게하는지 잘 모르겠습니다. 제목 및 기타 매개 변수와 함께 작동하는 이유는 무엇입니까? 튜토리얼에는 parentId가 언급되어 있습니다. 그래서 내가 그렇게하려고 노력했다. –

관련 문제