Контекстный гаджет Gmail

В последние несколько дней возникла проблема с контекстным гаджетом Gmail, в котором используется экстрактор messageID. Этот гаджет был функциональным в нашей среде Gmail в течение нескольких лет, но теперь он, кажется, сломан, вероятно, из-за некоторых неожиданных изменений со стороны Google. Я тестировал его в двух разных доменах и не работал должным образом.

Что происходит:

  • Окно контекстного гаджета не отображается в главном Gmail Интерфейс

  • Но когда сообщение открывается в отдельном окне (путем нажатия кнопки Shift и нажмите на сообщение) гаджет загружается хорошо - этот процесс может использоваться как обходной путь, но он не является оптимальным

  • Иногда (редко) гаджет таинственно появляется даже в почте
    Gmail, но через некоторое время он перестает работать снова

Есть ли кто-нибудь с похожим опытом? Любая информация о некоторых изменениях или технических проблемах на стороне Google?

Chrome JS-консоль не обнаруживает ошибок.

Поведение в главном интерфейсе - NOOK

Поведение в отдельном окне - ОК

Манифест зарегистрированного гаджета выглядит следующим образом:

    <?xml version="1.0" encoding="UTF-8" ?>
<ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009">

  <!-- Support info to show in the marketplace & control panel -->
  <Support>
    <!-- URL for application setup as an optional redirect during the install -->
    <!--    <Link rel="setup" href="#" onclick="location.href='http://cgitest.cz/google/setup.php?domain=${DOMAIN_NAME}'; return false;" /> -->

    <!-- URL for application configuration, accessed from the app settings
     page in the control panel -->
         <!--<Link rel="manage" href="#" onclick="location.href='http://cgitest.cz/google/admin.php?domain=${DOMAIN_NAME}'; return false;" /> -->

    <!-- URL explaining how customers get support. -->
    <Link rel="support" href="#" onclick="location.href='http://cgitest.cz/google/support.php'; return false;" />

    <!-- URL that is displayed to admins during the deletion process,
     to specify policies such as data retention, how to claim accounts, etc. -->
    <Link rel="deletion-policy" href="#" onclick="location.href='http://cgitest.cz/google/deletion-policy.php'; return false;" />
  </Support>

  <!-- Name and description pulled from message bundles -->
  <Name>GSCS message ID Extractor</Name>
  <Description>A simple Hello World application for testing
  Gmail contextual gadgets</Description>

  <!-- Show this link in Google universal navigation for all users -->
  <Extension id="navLink" type="link">
    <Name>GSCS message ID Extractor</Name>
    <Url>http://cgitest.cz/home.php?from=google&amp;domain=${DOMAIN_NAME}</Url>
  </Extension>

  <!-- Declare our OpenID realm so our app is white listed -->
  <Extension id="realm" type="openIdRealm">
    <Url>http://cgitest.cz</Url>
  </Extension>

<!-- EXTRACTOR -->

<!--<Extension id="HelloWorldExtractor" type="contextExtractor">
  <Name>Hello World</Name>
  <Url>google.com:HelloWorld</Url>  -->
  <!-- Uncomment this Param to apply a filter to the extractor's
  default output. The example regexp below makes the match case sensitive. -->
      <!-- <Param name="hello" value="H[a-z]* W[a-z]*"/> -->
<!--  <Triggers ref="GSCSContextGadget"/>
  <Scope ref="emailSubject"/>
  <Scope ref="emailBody"/>
  <Container name="mail"/>  
</Extension>  -->

<Extension id="MessageIDExtractor" type="contextExtractor">
  <Name>Message ID extractor</Name>
  <Url>google.com:MessageIDExtractor</Url>
  <!-- Uncomment this Param to apply a filter to the extractor's
  default output. The example regexp below makes the match case sensitive. -->
      <!-- <Param name="hello" value="H[a-z]* W[a-z]*"/> -->
  <Triggers ref="GSCSContextGadget"/>
  <Scope ref="messageID"/>
  <Container name="mail"/>
</Extension>

<!-- GADGET -->

<Extension id="GSCSContextGadget" type="gadget">
  <Name>Gmail contextual gadget</Name>
  <Url>http://gscs.cgitest.cz/gadget/gscs-contextgadget.xml</Url>
  <Container name="mail"/>
  <!-- Uncomment this to enable Caja. -->
  <!-- <Param name="caja" value="enabled"/> -->
</Extension>

<!-- SCOPE -->

<!-- <Scope id="emailSubject">
  <Url>tag:google.com,2010:auth/contextual/extractor/SUBJECT</Url>
  <Reason>This application searches the Subject: line of each email
  for the text "Hello World."</Reason>
</Scope>

<Scope id="emailBody">  
  <Url>tag:google.com,2010:auth/contextual/extractor/BODY</Url>
  <Reason>This application searches the message body of each email
  for the text "Hello World."</Reason>
</Scope> -->

<Scope id="messageID">
  <Url>tag:google.com,2010:auth/contextual/extractor/MESSAGE_ID</Url>
  <Reason>Matches the Gmail frontend message id of the message (this is a 64-bit hexadecimal value, different from the RFC 822 Message-ID)
      </Reason>
</Scope>

</ApplicationManifest>

Ответ 1

Я получил ответ от Google сегодня о предлагаемом исправлении в пятницу. Вот что они сказали.


Спасибо за терпение.

Прочтите ниже, чтобы узнать о состоянии вашей проблемы:

Обновления с момента последнего сообщения:

Мы уже определили потенциального виновника, и исправление для него планировали выжить в эту пятницу.

Мы предоставим другое обновление после разрешения этой проблемы были полностью подтверждены.

Если у вас есть какие-либо вопросы по вашему делу, вы можете ответить на это сообщение и агент поддержки будут следить за вами. Если вы больше не подумайте, что это ваша проблема, пожалуйста, нажмите на ссылку ниже, чтобы мы могли продолжите работать с вами, чтобы определить вашу проблему:


Просто для подтверждения - это исправлено для нашего домена сегодня (утреннее утро... не было зафиксировано в пятницу, но действительно работает сегодня). Мне пришлось эскалировать проблему с помощью Google Support - не уверен, что это что-то изменило, но пока у нас есть гаджеты снова.