2015-04-29 2 views
0

Позвольте мне сказать, что это установленное приложение с 51 установленным достижением, которое все работало последние пару лет, пока несколько дней назад.Достижения Rescrape не удается. Ошибка № 3403 Достижение не зарегистрировано

Я считаю, что создал этот беспорядок, внеся некоторые небольшие изменения на страницу, очищенную системой достижений Facebook. Достижения сами по себе не изменились, но мои журналы ошибок предупреждали меня о орфографической ошибке в теге og: url, поэтому я исправил ее вместе с соответствующим именем файла.

Презентность не выплачивается.

С тех пор, когда система пытается присудить достижение, я получаю ошибку:

E: (#3403) Achievement hasn't been registered for this application. 

Так что я попытался повторно выскабливание достижения через Отладчик Object Open Graph и через вызовы к API как так :

try{ 
    $request = new FacebookRequest($adminSession, 
     'POST', 
     "/?id=". FB_METRO_ACH_URL_BASE . $achievementId . '&scrape=true' 
     ); 
    $response = $request->execute(); 
}catch ..... 

Я ожидал, что должен будет сделать один из этих методов в любом случае после внесения изменений.

В отладчике объекта очистка проходит нормально, без предупреждений. API re-scrape также проходит без сбоев и отображает каждое достижение правильно и полностью и с правильным идентификатором приложения.

Принимая уникальный идентификатор достижений и просматривая их в обозревателе объектов, также выглядит отлично.

Общий API требует, чтобы отобразить все достижения, зарегистрированные для этого приложения, как это:

try{ 
    $request = new FacebookRequest($adminSession, 
     'GET', 
     "/" . APP_ID . "/achievements" 
     ); 
    $response = $request->execute(); 
}catch ..... 

Возвращает полный список, как и следовало ожидать, никаких ошибок или предупреждений, пока проблема не исчезнет.

Естественно, я вытащил все соответствующие файлы из системы контроля версий и восстановил оригиналы, заставив еще один повторный царапины по пути, но без кубиков.

Вытягивание волос сейчас, поэтому любой совет получил высокую оценку.

+0

Итак, вы зарегистрировали достижения, изменили URL-адрес некоторых из них, запустили URL-адреса (старые?) Через инструмент отладки и теперь не можете публиковать экземпляры достижений с использованием старого или нового URL-адреса? вы можете явно зарегистрировать новый URL как «новое» достижение для приложения? – Igy

+0

Спасибо за указатель. Я не хотел перерегистрировать достижения, поскольку они уже были награждены тысячами игроков, однако это произошло, когда один из них идентифицировал проблему для меня. –

ответ

0

Хорошо, я понял это, в основном, у меня было 2 динамических URLS для достижения achievementDescription.php achievementContent.php

achievementDescription.php был использован для регистрации всех достижений с Facebook несколько лет назад. Содержится в мета-теги был:

<meta property="og:url" content="http://example.com/achievementContent.php?aid=<?=$aid?>"/> 

Самое странное в том, что achievementContent.php никогда не существовало, будучи опечатка в имени файла при создании. Исправление дела сделало Facebook, увидев это как новое достижение, похоже.

С моей попыткой «исправить», т. Е. Имея правильно названное и найденное достижениеContent.php, я принял совет @ Igy и попытался перерегистрировать одно из существующих достижений и обнаружил, что он создал новое дублирующее достижение, связанное с достижениемContent .php URL (все ранее существовавшие достижения связаны с достижениемDescription.php)

Итак, я предполагаю, что процедура соскабливания была обновлена ​​на конец Facebook в промежуточный период.Первоначальная система регистрации должна была попытаться следовать неработающей ссылке, а затем просто присвоить достижение URL-адресу достиженияDescription.php. Попытка сгладить достижение в новой системе без действительного адресата для og: url привела к сбою.

Установка OG: URL собственности самоуправления ссылки achievementDescription.php т.е.

<meta property="og:url" content="http://example.com/achievementDescription.php?aid=<?=$aid?>"/> 

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

 Смежные вопросы

  • Нет связанных вопросов^_^