В последние несколько дней возникла проблема с контекстным гаджетом 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&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>