2012-03-26 2 views
5

Sharpbox API을 사용하여 보관 용 계정에 파일을 업로드하려고합니다. 그러나 "Public"폴더에 파일을 업로드하려고하면 "서버에서 하위 요소를 가져올 수 없습니다" 오류가 발생합니다.Sharpbox API를 사용하여 Dropbox에 업로드

Public Sub StoreOnDropbox() 

    Dim oDBox As New CloudStorage 
    Dim oDBoxConfig As AppLimit.CloudComputing.SharpBox.ICloudStorageConfiguration = CloudStorage.GetCloudConfigurationEasy(nSupportedCloudConfigurations.DropBox) 
    Dim oAccessToken As ICloudStorageAccessToken = Nothing 

    Using fs As IO.FileStream = File.Open("C:\Users\davidd5\Desktop\token.txt", FileMode.Open, FileAccess.Read, FileShare.None) 
     oAccessToken = oDBox.DeserializeSecurityToken(fs) 
    End Using 
    Dim oStorageToken = oDBox.Open(oDBoxConfig, oAccessToken) 
    Dim srcFile = Environment.ExpandEnvironmentVariables("C:\Users\davidd5\Desktop\token.txt") 
    Dim publicFolder = oDBox.GetFolder("/Public") 
    oDBox.UploadFile(srcFile, publicFolder) 

    oDBox.Close() 

End Sub 

오류 :

여기 the documentation pdf의 10-11 페이지의 단계를 따라하고 한 내가 현재 (테스트로 나는 token.txt 파일을 업로드하려고) 사용하고있는 코드입니다 GetFolder 함수에서 발생합니다. 나는 vb.net과 C# 모두에 태그를 달았습니다. 문서는 C#에 있고 vb.net으로 번역했습니다. 다음 link provided by IanBailey에서 동일한 오류에 대한 게시에 대한 책을 읽은 후


, 나는 변경 :

var publicFolder = dropBoxStorage.GetFolder("/Public"); 

다음 업로드 파일

var publicFolder = dropBoxStorage.GetRoot(); 

에.

편집 : 그러나 방금 apps 폴더 (GetRoot가 가리키는 파일)에서 파일을 공유 할 수 없다는 것을 알았 기 때문에 문제가 계속 발생합니다.

EDIT 2 :이 문제는 보관 용 계정에 앱을 만들 때 권한 때문에 발생했다고 생각합니다. 앱을 처음 만들 때 'Apps'폴더 또는 전체 사용자의 보관 용 계정에 액세스 권한을 부여하는 옵션이 있습니다. 오류가 발생하여 전체 사용자의 보관 용 계정에 대한 액세스를 요청하고 공용 폴더에서 액세스 할 수있는 새 앱을 만들었습니다.

+1

Sharpbox의 문제라고 생각합니다. Guy here : http://sharpbox.codeplex.com/discussions/349810 금요일에 똑같은 문제가 있습니다 (C#에서도). – ianbailey

+0

그래, 그게 같은 오류처럼 보이고, 나는 그 페이지를 북마크하고 거기에 해결책이 없으면 거기에 해결책을 주시 할 것입니다. 감사합니다 이안. –

답변

2

문제는 보관 용 계정에 앱을 만들 때 권한으로 인한 것입니다. 앱을 처음 만들 때 'Apps'폴더 또는 전체 사용자의 보관 용 계정에 액세스 권한을 부여하는 옵션이 있습니다. 전체 사용자의 보관 용 계정에 대한 액세스를 요청하고 공용 폴더에서 액세스 할 수있는 새 앱을 만들 때까지 오류가 발생했습니다.