【问题标题】:Invalid signed-request: Missing required parameter无效的签名请求:缺少必需的参数
【发布时间】:2016-02-16 09:37:47
【问题描述】:

我在从Instagram 获取我的照片时得到了以下response。请帮助任何帮助将不胜感激。

{ 
code = 403;
    "error_message" = "Invalid signed-request: Missing required parameter 'sig'";
    "error_type" = OAuthForbiddenException;
}

这是我的代码

  NSURL *url = [NSURL URLWithString:@"https://api.instagram.com/v1/tags/nofilter/media/recent?access_token=...........aef2"];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {            
   if (error){
        }
        else {   
            NSString * a = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
            NSDictionary *tokenData = [jResponse objectWithString:a];
            NSLog(@"%@",tokenData);

        }
    }];

【问题讨论】:

  • 1) 所以发送所需的参数。 2)您可能应该假设 UTF8 编码,而不是 ASCII。

标签: ios objective-c xcode instagram instagram-api


【解决方案1】:

看起来你已经启用了Enforce Signed Requests,所以它需要你有sig参数,这是API请求的签名,在这里描述:https://www.instagram.com/developer/secure-api-requests/

要么生成签名,要么禁用Enforce Signed Requests

看起来您正在从应用程序(客户端)进行 API 调用,因此不建议发出签名请求,因为您必须在应用程序代码中保存 client_secret。建议在服务器上执行此操作以确保安全。因此,只需为您的应用禁用 Enforce Signed Requests 并按原样进行 API 调用。

【讨论】:

    【解决方案2】:

    @krisrak 答案的延续。

    禁用强制签名请求。

    转到https://www.instagram.com/developer/clients/manage/

    选择您需要的客户转到安全。取消选中强制签名请求

    并保存更新的更改。

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 2017-12-01
      • 2019-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      相关资源
      最近更新 更多