Значение пространства имен не устанавливается при вызове GAE-приложения из Google Apps

#google-app-engine #google-apps #google-apps-marketplace

#google-app-engine #google-приложения #google-приложения-торговая площадка

Вопрос:

Я интегрировал приложение с Google Apps Marketplace. Когда приложение вызывается из выпадающей ссылки «подробнее» в приложениях Google (универсальная панель навигации), я ожидаю, что ключу пространства имен приложений будет автоматически присвоено значение домена, но этого не происходит.

Значение, возвращаемое NamespaceManager.getGoogleAppsNamespace(), равно «». Есть идеи, что я могу делать неправильно? Спасибо за вашу помощь.

общедоступный класс NamespaceFilter реализует Filter {

…..

public void doFilter(запрос ServletRequest, ответ ServletResponse, цепочка FilterChain)

   throws IOException, ServletException {
  

       case GOOGLE_APPS_DOMAIN : {

                 NamespaceManager.set(NamespaceManager.getGoogleAppsNamespace());
  

Обновить:
Я собираюсь попробовать явно установить значение пространства имен на значение, переносимое com.google.appengine.api.users.UserService.user_organization вместо NamespaceManager.getGoogleAppsNamespace() метод. Я бы хотел, чтобы последнее сработало, но это не так. с другой стороны, user_organization правильно устанавливается для вызывающего домена.

Комментарии:

1. Обратите внимание, что способ использования универсальных навигационных ссылок изменился с появлением нового интерфейса Google Apps Marketplace. Более подробную информацию см. В документации разработчика .

Ответ №1:

Вы должны управлять пространством имен в Appengine самостоятельно. AppEngine не знает о Google Apps Marketplace. Используйте параметр domain, чтобы вручную задать пространство имен Appengine.

Ответ №2:

Проблема может заключаться в способе доступа к приложению. Это yourapp.yourcustomerdomain.com yourapp.appspot.com или даже www.yourapp.com ?

Проверено на моих собственных приложениях, ожидаемые результаты вызова метода следующие:

  1. поскольку yourapp.yourcustomerdomain.com это yourcustomerdomain.com
  2. поскольку yourapp.appspot.com оно пустое
  3. поскольку www.yourapp.com это yourapp.com

Итак, учитывая то, что вы написали, вам нужно, чтобы приложение было развернуто первым способом.