签名请求无效:缺少必需的参数

Invalid signed-request: Missing required parameter

我从 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);

        }
    }];

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

生成签名或禁用 [​​=10=]

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

@krisrak 回答的延续。

禁用强制签名请求。

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

Select 需要您的 Client转到安全。取消选中强制签名请求

并保存更新的更改。