我正在开发必须与 Flickr API 交互的cordova应用程序。所以我使用JS来处理它的API。
我需要在应用中进行身份验证,以便将照片上传到flickr并评论其他用户的照片。
Here is user authentication guide
我的查询结果是我获得了一个访问令牌:
{
"fullname": USER_FULLNAME,
"oauth_token": "72157660402905810-b99d9b1b0d0101f7",
"oauth_token_secret": "d8fff950a8ed891e",
"user_nsid": USER_NSID,
"username": USER_NAME
}
看起来不错,但方法flickr.auth.checkToken告诉我,我的令牌已被破坏:
{"stat":"fail","code":98,"message":"Invalid auth token"}
当然,我不能使用任何需要使用此令牌进行授权的方法。
有一种方法可以将此令牌从flickr的新API it's documentation转换为令牌。但它会返回相同的答案。
var data = {
method: `flickr.auth.oauth.getAccessToken`,
api_key: api_key,
oauth_token: oauth_data.oauth_token
};
//flickerAPI.get_api_sig - getting list of
//arguments and creating a string that look's like
//SECRETa1b4c3 and after return md5 hash string.
data.api_sig = flickrAPI.get_api_sig(data, oauth_data.oauth_token_secret);
var url = `https://api.flickr.com/services/rest/`;
url += `?method=${data.method}`;
url += `&api_key=${data.api_key}`
url += `&auth_token=${data.oauth_token}`;
url += `&api_sig=${data.api_sig}`;
结果我得到了这样的查询
https://api.flickr.com/services/rest/?method=flickr.auth.oauth.getAccessToken&api_key=MY_API_KEY&auth_token=72157660402905810-b99d9b1b0d0101f7&api_sig=4365c14cd05c75616e24825570e63d9c
{"stat":"fail","code":98,"message":"Invalid auth token"}
这种行为可能是什么原因?