所以,我按照这里的说明操作: http://blog.ionic.io/displaying-the-twitter-feed-within-your-ionic-app/
getHomeTimeline工作正常,但当我尝试添加一个新方法取消关注用户时:
unfollow: function(user_id) {
var unfollow_url = 'https://api.twitter.com/1.1/friendships/destroy.json?user_id='+user_id;
createTwitterSignature('POST', unfollow_url);
return $resource(unfollow_url).query();
}
我明白了:
根据教程,GET https://api.twitter.com/1.1/friendships/destroy.json?user_id=807095 401(需要授权)
createTwitterSignature方法没有改变:
function createTwitterSignature(method, url) {
var token = angular.fromJson(getStoredToken());
var oauthObject = {
oauth_consumer_key: clientId,
oauth_nonce: $cordovaOauthUtility.createNonce(10),
oauth_signature_method: "HMAC-SHA1",
oauth_token: token.oauth_token,
oauth_timestamp: Math.round((new Date()).getTime() / 1000.0),
oauth_version: "1.0"
};
var signatureObj = $cordovaOauthUtility.createSignature(method, url, oauthObject, {}, clientSecret, token.oauth_token_secret);
$http.defaults.headers.common.Authorization = signatureObj.authorization_header;
}
我检查了ngTwitter,但它改变了我的代码太多了,我觉得这个问题很简单(也不包括POST friendships / destroy )。我在不同的帖子中找到了与Cordova相关的东西,但除了使用ngTwitter之外,它们都没有真正提供答案。
任何人都有解决方案吗?