API Instagram выдает ошибку «Недопустимое приложение платформы» при попытке получить токен доступа - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь получить токен доступа с помощью этого API: https://api.instagram.com/oauth/access_token. Я удостоверился, что использовал только идентификатор приложения instagram, а также позаботился о том, чтобы тип содержимого был «x- www-form-urlencoded», как это предлагается в следующих ответах: Аутентификация тестового пользователя {"error_type": "OAuthException "," code ": 400," error_message ":" Недопустимое приложение платформы "} . API отлично работает в почтальоне, но выдает следующий код ошибки через мой код:

{"error_type": "OAuthException", "code": 400, "error_message": "Invalid platform app"}

Вот мой кусочек кода:

-(void)fetchAccessTokenForInsta{

NSString *targetUrl = [NSString stringWithFormat:@"%@", @"https://api.instagram.com/oauth/access_token"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

NSDictionary *tmp = @{@"client_id":@"126.....", @"client_secret":@"c79c.....", @"grant_type":@"authorization_code", @"redirect_uri":@"https://firebase.google.com/", @"code":_codeStr};
NSError *error;
NSData *postData = [NSJSONSerialization dataWithJSONObject:tmp options:0 error:&error];

[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
[request setURL:[NSURL URLWithString:targetUrl]];

NSDictionary *headers = @{@"Content-Type": @"application/x-www-form-urlencoded" };
[request setAllHTTPHeaderFields:headers];

[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:
  ^(NSData * _Nullable data,
    NSURLResponse * _Nullable response,
    NSError * _Nullable error) {

      NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
      NSLog(@"Data received: %@", responseStr);
}] resume];
}

Где _codeStr - строка после удаления # из кода, полученного на предыдущем шаге. Любая помощь приветствуется.

...