错误的签名错误

问题描述:

在我的应用程序中使用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-3rd尝试,但是当我尝试再次运行/调试应用程序,它会更新成功。

所以,我不知道什么是真正的问题。 消费者密码都是正确的。

有什么想法?这真是太奇怪了,我一直没有找到具体的答案,但我想这与oAuth有关。

+0

Twitter的OAuth是被更新和上ShareKit休息侧。需要将https://twitter.com/更改为https://api.twitter.com/。提交bug并解决。 http://bit.ly/k5nnbB – 2011-05-24 06:49:59

+0

谢谢谢谢谢谢!还请记住将更新URL更改为https OAMutableURLRequest * oRequest = [[OAMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@“https://api.twitter.com/1/statuses/update.json”] 消费者:消费者 token:accessToken realm:nil signatureProvider:nil]; – 2011-05-24 09:10:31

该评论不能被格式化,所以我写了一个答案。 的解决办法是改变twitter.com到api.twitter.com也更新您需要更改更新网址:

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