Мое приложение требует от пользователей, чтобы войти в систему с их учетной записью Twitter!Я использую tardate oauth lib (от Пола Галлахера).Это отлично работает.Я хочу создать API для своего веб-сайта (фактически часть аутентификации пользователя).Twitter Basic Auth устарел, и теперь твиттер использует твиттер-эхо.Если пользователь хочет загрузить файл через API в моем приложении, он должен включить в свой запрос вышеуказанный заголовок.Итак, моя проблема: (я полагаю, что заголовок попадает в твиттер-API напрямую, а твиттер возвращает в моем URL ответ ... это правильно?)
как мое приложение может обработать ответ твиттера?JSON, который содержит информацию о пользователе (или отрицательный ответ 401), чтобы продолжить загрузку или нет.Что-то вроде twitpic API делает. (http://dev.twitpic.com/docs/2/upload/) или аналогичные сервисы.
curl -v -H 'X-Auth-Service-Provider: https://api.twitter.com/1/account/verify_credentials.json' -H 'X-Verify-Credentials-Authorization: OAuth realm="http://api.twitter.com/",
oauth_consumer_key="yTrEIQH6jhtmLUypg8T5", oauth_signature_method="HMAC-SHA1",
oauth_token="514797-YuI8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWTyu",oauth_timestamp="1271323750",
oauth_nonce="oYu6nMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7U9Y",
oauth_version="1.0", oauth_signature="CV4bTfE7Rs9J1kafTGwufLJdspo%3D"' -F "file=@/path/to/file" http://localhost:3000/api/upload.xml
моя загрузка по умолчанию в настоящее время работает для простой загрузки через API. Без информации о пользователе. Но таким образом мое приложение не 'Не знаю владельца файла!
def upload
file = File.new
file.file = params[:file]
# ... extra code
respond_to do |format|
if file.save
format.xml { render :xml => file, :status => :created, :location => file }
else
format.xml { render :xml => file.errors, :status => :unprocessable_entity }
end
end
end
У вас есть идеи, как может быть логика кодирования?
Любая помощь будет высоко оценена: -)