Что я делаю не так с Pocket API для Objective-C, что приводит к сбою команд архивирования?IOS

Программируем под IOS
Ответить
Anonymous
 Что я делаю не так с Pocket API для Objective-C, что приводит к сбою команд архивирования?

Сообщение Anonymous »

Я действительно ломаю голову над этим. Я использую Pocket API, чтобы позволить пользователям архивировать статьи Pocket из моего приложения, но всякий раз, когда я пытаюсь сделать это с помощью приведенного ниже кода, я получаю следующую ошибку:

Error Domain=PocketSDK Code=400 «Неверный запрос, обратитесь к документации API» UserInfo=0xc17d3b0 {NSLocalizedDescription=Неверный запрос, обратитесь к документации API

Код:

Код: Выделить всё

NSDictionary *arguments = @{@"action": @"archive",
@"item_id": articleID};

[[PocketAPI sharedAPI] callAPIMethod:@"send" withHTTPMethod:PocketAPIHTTPMethodPOST arguments:arguments handler:^(PocketAPI *api, NSString *apiMethod, NSDictionary *response, NSError *error) {
if (!error) {
NSLog(@"Archived article.");
}
}];
Что конкретно из этого неверно? Разве я не отправляю метод отправки в API?
РЕДАКТИРОВАТЬ: я даже изменил его, чтобы @"action" было @"actions" и предоставить ему указанный выше NSDictionary, и он возвращается без ошибки, но не влияет на него на веб-сайте Pocket...
РЕДАКТИРОВАТЬ 2: strong> Согласно ответу Джозефа Чена, я изменил свой код на следующий:

Код: Выделить всё

  // Create data to pass to the Pocket API (a JSON array of actions)
NSError *error;
NSArray *actions = @[@{@"action": @"archive",
@"item_id": articleID}];
NSData *actionsAsJSONData = [NSJSONSerialization dataWithJSONObject:actions options:kNilOptions error:&error];
NSString *actionsAsJSONString = [[NSString alloc] initWithData:actionsAsJSONData encoding:NSUTF8StringEncoding];

NSDictionary *arguments = @{@"actions": actionsAsJSONString};

[[PocketAPI sharedAPI] callAPIMethod:@"send" withHTTPMethod:PocketAPIHTTPMethodPOST arguments:arguments handler:^(PocketAPI *api, NSString *apiMethod, NSDictionary *response, NSError *error) {
if (!error) {
NSLog(@"%@", response);
}
else {
NSLog(@"%@", error);
}
}];
Что возвращает:

Код: Выделить всё

action_results" =     (
1
);
status = 1;
Тем не менее, когда я захожу на веб-сайт и вхожу в систему, статья, которую я «архивировал», все еще смотрит мне в лицо, не заархивированная.

Подробнее здесь: https://stackoverflow.com/questions/210 ... ng-archive
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»