在我的应用中使用ShareKit整合FB& Twitter状态更新。 FB服务工作正常。但是,在我的Twitter服务中,我遇到了这个错误:
Twitter Send Status Error: {"request":"\/1\/statuses\/update.json","error":"Incorrect signature"}
这是我的代码:
if (m_prodDetails != nil && [m_prodDetails count] > 0) {
NSString *strTemp = [[NSString alloc] initWithString:API_HOSTSERV_PROD_URL];
// http://ipasarmalam.com/p/proddetails.aspx?id=55344
NSString *urlString = [strTemp stringByAppendingString: [m_prodDetails objectAtIndex:0]];
NSURL *url = [NSURL URLWithString:urlString];
if (url != nil) {
NSLog(@"url is correct: %@", url);
}
NSLog(@"urlString: %@", urlString);
NSLog(@"url: %@", url);
SHKItem *item = [SHKItem URL:url title:m_prodName.text];
SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];
[actionSheet showFromTabBar:self.tabBarController.tabBar];
[strTemp release];
}
这种情况发生在我的第1-3次尝试,但当我尝试再次运行/调试应用程序时,它将成功更新。
所以,我不知道究竟是什么问题。 消费者&密钥都是正确的。
有什么想法吗?它太奇怪了。我没有找到具体的答案,但我想这与oAuth有关。
答案 0 :(得分:0)
评论无法格式化,所以我写了一个答案。 解决方案是将twitter.com更改为api.twitter.com以及更改更新URL所需的更新:
OAMutableURLRequest *oRequest = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"api.twitter.com/1/statuses/update.json"] consumer:consumer token:accessToken realm:nil signatureProvider:nil];
修正了这里:https://github.com/ideashower/ShareKit/issues/229#issuecomment-1221634