Ошибка 403 при попытке использовать пользовательский поиск Google с модулем DZNPhotoPicker на iOS

Прежде чем вы, ребята, наброситесь на меня, что 403 означает, что что-то не так с моим потребительским ключом... хорошо. Но что? Я трижды проверил соответствие идентификатора пакета в моем приложении и ключе API, а пользовательский поиск Google включен. Если я попытаюсь использовать другой ключ, такой как веб-ключ, или вообще не использовать ключ, я получаю сообщение об ошибке 400. Очевидно, моя репутация слишком низка для публикации изображений, поэтому вам придется доверять мне в отношении того, как выглядит ошибка, и что пользовательский поиск включен на ключ API и этот поиск изображений включен для системы пользовательского поиска, а также включена опция «искать во всей сети, но выделять включенные сайты».

КОД:

[DZNPhotoPickerController registerService:DZNPhotoPickerControllerServiceGoogleImages consumerKey:@"A*****************************" consumerSecret:@"00***************************" subscription:DZNPhotoPickerControllerSubscriptionFree];

DZNPhotoPickerController *picker = [[DZNPhotoPickerController alloc] init];
picker.supportedServices = DZNPhotoPickerControllerServiceGoogleImages;
picker.delegate = self;
picker.enablePhotoDownload = YES;
picker.infiniteScrollingEnabled = YES;
[self presentViewController:picker animated:YES completion:nil];

person krazeeKoder    schedule 08.04.2016    source источник


Ответы (1)


Пробовали ли вы пробный модуль со своими ключами, чтобы убедиться, что он работает? например https://github.com/dzenbot/DZNPhotoPickerController Используете ли вы настоящие ключи или используете образцы ключей? Получите настоящие ключи здесь: https://developers.google.com/image-search/.

Этот другой пользователь обнаружил, что Google отклоняет его запросы, если все поля не заполнены. Пользовательский поиск Google: ошибка 403 в iOS Возможно, вам нужно установить некоторые больше ваших полей? например:

// or whatever
imagePicker.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil];

Конечно, API поиска изображений Google устарел (API поиска изображений Google официально объявлен устаревшим с 26 мая 2011 г.). Похоже, что другие могут его использовать... возможно, ваши ключи наоборот? например секретный ключ в потребителе и наоборот.

Где вы берете 403? Какой метод? Возможно, вам следует использовать wireshark, чтобы убедиться, что ваш запрос заполнен правильно. Я предполагаю, что если вы поймаете URL-адрес, вы сначала попробовали его из обычного браузера за пределами iOS, чтобы убедиться, что он работает?

person LawfulEvil    schedule 08.04.2016
comment
Я использую настоящие ключи. Я не могу проверить это из браузера, потому что я пытаюсь использовать не ключ браузера, а ключ iOS, который требует, чтобы запрос был сделан из проекта с правильным идентификатором пакета. Я думаю, что модуль неправильно настроен на использование ключа браузера. Их пример работает с ключом браузера, который я создал, но не с ключом iOS, даже если я включу идентификатор пакета примера проекта в список проектов, которым разрешено использовать этот конкретный ключ. - person krazeeKoder; 08.04.2016
comment
однако, когда я проверяю ключ веб-браузера с помощью собственного кода, я получаю запрос не выполнен: неверный запрос (400) - person krazeeKoder; 08.04.2016