2011-11-01 3 views
0

새로운 API sharpbox 1.2를 사용하려고했습니다. Sharpbox 1.2 API

나는이 코드를 시도 :

if (Request.UrlReferrer.ToString() == string.Empty)   
{ 
    DropBoxConfiguration config = DropBoxConfiguration.GetStandardConfiguration(); 
    config.AuthorizationCallBack = new Uri("http://localhost:60003/Default.aspx");    
    DropBoxRequestToken token = DropBoxStorageProviderTools.GetDropBoxRequestToken(config, "customerkey", "customersecret"); 
    string authUrl = DropBoxStorageProviderTools.GetDropBoxAuthorizationUrl(config, token);  
    Response.Redirect(authUrl); 
}    
else 
{ 
    ICloudStorageAccessToken token1 = DropBoxStorageProviderTools.LoginWithMobileAPI("username", "password", "customerkey", "customersecret");   
} 

을하지만이 같은 예외를 가지고 :

내가 ASP를 사용하고있어

"권한이없는 작업을 수행하려고했습니다." NET & C#

고마워요!

답변

2

Sharpbox 1.2는 사용자 이름/패스워드 패스를 제거했습니다. 토큰을 받으려면 ICloudStorageAccessToken을 사용해야합니다. 당신의 consumerkey와 consumerecret을 토큰으로 바꾸기 위해 다운로드에 독립 실행 형 exe가 있습니다.

Public dropBoxStorage As CloudStorage 
    dropBoxStorage = New CloudStorage() 
    Dim dropBoxConfiguration As ICloudStorageConfiguration = CloudStorage.GetCloudConfigurationEasy(nSupportedCloudConfigurations.DropBox) 
    Dim accesstoken As ICloudStorageAccessToken = Nothing 
    Dim tokenpath As String = serverpath 
    Dim fs As FileStream = File.Open(tokenpath, FileMode.Open, FileAccess.Read, FileShare.Read) 
    accesstoken = dropBoxStorage.DeserializeSecurityToken(fs) 
    dropBoxStorage.Open(dropBoxConfiguration, accesstoken) 
+0

나는 그가 언급 한 exe를 다운로드했으나 토큰을 생성하지 않습니다. 나는 코드를 디버깅하고, 파리에서 생성해야만했습니다. 'var accessToken = DropBoxStorageProviderTools.ExchangeDropBoxRequestTokenIntoAccessToken (config, ConsumerKey, ComsumerSecret, requestToken);'그런 다음 문자열을 생성했습니다. string accessTokenString = dropBoxStorage.SerializeSecurityTokenToBase64Ex (accessToken, typeof (ICloudStorageAccessToken), null) ; ' –

+0

모두 작동하지만 GetFileSystemObjectUrl을 사용하여 한 번만 파일을 다운로드 할 수 있습니다. 전체 권한으로도 생성 된 액세스 토큰은 폴더와 파일을 나열하지만 Sharpbox는 사용자 친화적 인 공개 URL 링크를 생성하는 쉬운 방법이 아닙니다. 문서의 다운로드 링크를 방문하면'{ "error": "유효하지 않거나 누락 된 서명"}'이 표시됩니다. –