twitter - 错误代码 220 - "Your credentials do not allow access to this resource"尝试转发时

标签 twitter twitter-oauth

当我尝试获取https://api.twitter.com/1.1/statuses/retweets/21947795900469248.json时使用我的授权凭证(oauth),我得到:

{
 "errors": [
  {
   "message": "Your credentials do not allow access to this resource",
   "code": 220
  }
 ]
}

错误:任何其他 twit ID 均无效。这个端点有问题吗?因为直到昨天我才得到真实的回应。有什么变化吗?

最佳答案

我遇到了同样的问题,错误代码为 220。我的解决方法是提示用户再次输入 Twitter 密码。

检查下面的示例代码:

SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeTwitter
                                            requestMethod:SLRequestMethodPOST
                                                      URL:[NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/update.json"]
                                               parameters:@{@"status": tweetString}];

[request setAccount:account];  
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {

   if ([responseData isKindOfClass:[NSData class]]) {

       NSError *jsonError = nil;
       NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonError];

       if (json) {
           NSArray *errors = json[@"errors"];
           if (errors.count) {

               NSUInteger errorCode = [json[@"errors"][0][@"code"] integerValue];
                   if (errorCode == 220) {

                       ACAccountStore *accountStore = [[ACAccountStore alloc] init];
                       [accountStore renewCredentialsForAccount:account completion:^(ACAccountCredentialRenewResult renewResult, NSError *error2) {
                            NSLog(@"Renew result: %ld, error: %@", (long)renewResult, error2);

                            if (renewResult == ACAccountCredentialRenewResultRenewed) {
                                [self __makeTweetWithAccounts:@[account] rating:rating review:review];
                             }
                        }];
                }
            }
        }
    }             
    NSLog(@"Twitter response data: %@", [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]);
}]; 

关于twitter - 错误代码 220 - "Your credentials do not allow access to this resource"尝试转发时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23356156/

相关文章:

perl - OAuth 请求 token 和 Twitter

ios - Twitter 工具包 - iOS

twitter-oauth - 如何获取主题标签的所有推文计数

Android - 共享

api - 向 Twitter API V1.1 发送请求时 Twitter HTTP 错误(探索热门主题)

facebook - 将 URL 哈希添加到 Facebook 和 Twitter 共享卡的元数据中

angular - 使用 Angular 登录推特

python - Twitter 搜索 API 身份验证

r - 使用 R 拆分 data.frame 对象中的主题标签

iphone - 验证 Twitter 以获取 json feed