为Flickr身份验证创建签名(Android SDK)

为Flickr身份验证创建签名(Android SDK),第1张

概述我想用我的小Android-App将图片上传到Flickr.因此用户必须登录并接受权限.我的问题是,我不知道创建签名的参数是什么.这是在Flickr网站上写的:ThebasestringisconstructedbyconcatenatingtheHTTPverb,therequestURL,andallrequestparameterssortedbyname,u

我想用我的小Android-App将图片上传到Flickr.因此用户必须登录并接受权限.

我的问题是,我不知道创建签名的参数是什么.
这是在Flickr网站上写的:

The base string is constructed by concatenating the http verb, the request URL, and all request parameters sorted by name, using lexicograhpical byte value ordering, separated by an ‘&’.

什么是“请求参数”?
我用不同的参数尝试了几次,但总是得到错误:“无效的API密钥或签名”.

非常感谢你的帮助!

解决方法:

让我们分解吧.

您需要从http动词开始.让我们说你正在做一个GET请求.签名基本字符串的第1部分是:

得到

然后假设您正在调用URL http://www.example.com/api/?filename=hello.jpg.忽略参数,您有第2部分:

http://www.example.com/API/

然后让我们说你有以下参数,文件名来自上面的URL.服务器允许的请求需要以oauth_为前缀的那些.

> oauth_consumer_key = 9djdj82h48dJs9d2,
> oauth_token = kkk9d7dh3k39sjv7,
> oauth_signature_method = HMAC-SHA1
> oauth_timestamp = 137131201
> oauth_nonce = 7d8f3e4a
> filename = hello.jpg

上面的所有参数都需要按字典顺序字节顺序排序(基本上按字母顺序),用’&’分隔.现在你将有第三部分:

文件名= hello.jpg&安培; oauth_consumer_key = 9djdj82h48dJs9d2&安培;
oauth_nonce = 7d8f3e4a&安培; oauth_signature_method = HMAC-SHA1&安培; oauth_timestamp =
137131201&安培;组oauth_token = kkk9d7dh3k39sjv7

现在你需要对第2部分和第3部分进行URL编码.然后连接这三部分,结果是:

GET&安培; http://www.example.com/API/\u0026amp;文件名= hello.jpg&oauth_consumer_key = 9djdj82h48dJs9d2&
oauth_nonce = 7d8f3e4a&oauth_signature_method = HMAC-SHA1&oauth_timestamp =
137131201&组oauth_token = kkk9d7dh3k39sjv7

这是基本字符串.现在您需要使用HMAC-SHA1算法对其进行签名,生成的签名也必须与请求一起发送.

总结

以上是内存溢出为你收集整理的为Flickr身份验证创建签名(Android SDK)全部内容,希望文章能够帮你解决为Flickr身份验证创建签名(Android SDK)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存