Я Полагаю, что я создал этот беспорядок, внеся небольшие изменения в страницу, очищенную системой достижений Facebook. Сами URL-адреса достижений не изменились, но мои журналы ошибок предупредили меня об орфографической ошибке в теге og:url, поэтому я исправил ее вместе с соответствующим именем файла.
Похоже, привередливость не окупается.
С тех пор всякий раз, когда система пытается присудить достижение, я получаю сообщение об ошибке:
Код: Выделить всё
E: (#3403) Achievement hasn't been registered for this application.
и с помощью вызовов API следующим образом:
Код: Выделить всё
try{
$request = new FacebookRequest( $adminSession,
'POST',
"/?id=". FB_METRO_ACH_URL_BASE . $achievementId . '&scrape=true'
);
$response = $request->execute();
}catch .....
В отладчике объектов , очистка проходит нормально, без предупреждений. Повторная очистка API также проходит без сбоев и отображает каждое достижение правильно, в полном объеме и с правильным идентификатором приложения.
Принимаем уникальные идентификаторы достижений и просматриваем их. в обозревателе объектов также выглядит нормально.
Общие вызовы API для отображения всех достижений, зарегистрированных для этого приложения, например:
Код: Выделить всё
try{
$request = new FacebookRequest( $adminSession,
'GET',
"/" . APP_ID . "/achievements"
);
$response = $request->execute();
}catch .....
Естественно Я вытащил все соответствующие файлы из-под контроля версий и восстановил исходные, попутно вынудив еще одну повторную очистку, но безрезультатно.
Радую на себе волосы сейчас поэтому любые советы очень ценны.
Подробнее здесь: https://stackoverflow.com/questions/299 ... registered