Кодирование URL - oauth_signature - PullRequest
       11

Кодирование URL - oauth_signature

1 голос
/ 18 февраля 2012

Я успешно настроил oauth-аутентификацию для доступа к своему Dropbox с помощью sharpbox. Sharpbox - это «передняя часть» с открытым исходным кодом, которая обрабатывает гайки и болты процесса. С его помощью я могу вернуть информацию о файле в определенную папку в моей учетной записи.

Я связываю имя файла и сгенерированный URI с видом сетки в веб-приложении VS 2010. У меня есть гиперссылка с текстом, установленным для имени, и DataNavigateUrlFields для уникального URL. Он отлично работает, если в части oauth_signature строки url нет символа «+». Если плюс есть, он возвращает "{" error ":" Недопустимая подпись. Ожидаемая сигнатура базовой строки: "

Спасибо за ваше внимание.


Спасибо за помощь, вот мой код

Public Sub MakeURL()
    dbOpen()
    Dim myfolder As ICloudDirectoryEntry = dropBoxStorage.GetFolder("/DIR/SUBDIR/")
    Filename = Filename & "_POID_" & poid & ".pdf"
    pdfurl = dropBoxStorage.GetFileSystemObjectUrl(Filename, myfolder).ToString
    dbClose()
    pdfurl = pdfurl.Replace("+", "%2B")
    Response.Redirect(pdfurl)
     End Sub

1 Ответ

3 голосов
/ 20 февраля 2012

OAuth 1 Подпись использует процентное кодирование (см. RFC 5849 ).В спецификации четко указано, что пробел не должен кодироваться как +, вместо этого он должен кодироваться как %20.Замените ваш + на %20.

...