签名错误不正确

时间:2011-05-20 06:53:59

标签: iphone ios twitter sharekit

在我的应用中使用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有关。

1 个答案:

答案 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