How to deploy Gmail Contextual Gadget on Google Marketplace as App for Gmail? - gmail-api

I have a simple plugin that renders gmail data. I want to deploy on Google Marketplace.
I followed this link : https://developers.google.com/gmail/contextual_gadgets
I have uploaded the zip with manifest.json file on chrome developer console. The plugin is available in the marketplace. But when I install and run the plugin it opens the website rather than enabling the plugin on Gmail.
I have entered details into Google Apps Marketplace SDK, defined the email extractors.
I have created the manifest.json file as follows and uploaded to developer console. Below code is just an example, I have mentioned valid values in the JSON.
{
"manifest_version": 2,
"name": "My App",
"short_name": "My App",
"version": "1.0.0",
"description": "Desctription................",
"app" : {
"launch" : {
"web_url" : "https://www.myapp.com"
}
},
"icons": {
"128": "icons/128x128-icon.png",
"16": "icons/16x16-icon.png"
},
"container": ["DOMAIN_INSTALLABLE"],
"api_console_project_id": "XXXXXXXXXX"
}
The application was published on marketplace. But the plugin is not enabled in my gmail app. Rather it opens the website link.
Please guide what is missing in the configuration or in the manifest file.
Thanks in advance!

Related

How do I properly setup VS Code to debug in chrome, using an existing logged in Chrome user profile?

I have a React application that I'm writing in VS Code. In order to test and debug my work, I go to the the terminal and enter npm start. This starts the application server and it properly launches chrome under the current logged in user, which has the React Devtools extension installed.
However, I'm also using the Debugger with Chrome extension in VS Code. In order to use those debugger tools, once the application has been started by npm, I need to hit F5 and this launches a new browser window for Chrome. Under this mode, my breakpoints are being hit in VS code, and I can inspect as I need too.
However, the difference is that when I hit F5, VS Code opens a new browser Window that looks like a newly installed instance of Chrome. Since I use Chrome in multiple VMs and architectures, I've setup my Google account so that as I login into my profile on each machine in Chrome, all necessary bookmarks and extensions are loaded into that instance of Chrome.
F5 debugging isn't showing that user profile information, even though a regular launch of Chrome is showing those details, as is the initial launch of the browser when I run npm start. Is there a way to alter my VS Code configurations so that when debugging in VC Code with the Debugger for Chrome extension, I can access my Chrome profile with all my desired extensions and tools?
Also, here's my launch.json file. I think this is used by the debugger.
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}",
}
]
}
I think these are defaults and I think, maybe, this is what NPM is using rather than whatever is launching the debugger & browser with F5.
Add "userDataDir": false to your launch config, like this:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}",
"userDataDir": false
}
]
}
BUT you must first quit all running instances of Chrome, because it's not possible to put a running Chrome user profile into debug mode. This is why the extension creates a new user profile by default.

Manifest.json for progressive web app not working

I am trying to get the manifest.json file working for my web app. Unfortunately it is not working right. I am receiving the following error in the chrome devtools:
Line: 1, column: 1, Unexpected token.
I am pretty sure that the JSON is valid but it probably has something to do with the path in the html-head. What am I doing wrong here?
I am linkin it in my html like this:
<link rel="manifest" href="/manifest.json">
The manifest looks as following:
{
"short_name": "Tabbs Web App",
"name": "Tabbs Web App",
"description": "Tabbs is an digital booking service for the night life scenery",
"icons": [
{
"src": "favicon.png",
"sizes": "1024x1024",
"type": "image/png"
}
],
"start_url": "./index.html",
"display": "fullscreen",
"theme_color": "#F5C33E",
"background_color": "#ffffff"
}
This is my map structure:
Hopefully someone can find the issue! Cheers!
First issue, your start_url is not valid. You should learn to use how to generate Lighthouse report to help yourself find such issue cause.
Instead of having start URL as this
"start_url": "./index.html",
Try this or simply remove "." from the above URL and try, it all depends on your build and hosting, manifest and index.html locations, etc. So you have to try multiple and see what works.
"start_url": "http://tabbs-web-app.herokuapp.com/discover/home",
I'm not getting the error that you have mentioned.
I'm getting the below one though, which is because your site loads content from non HTTPS requests. If you are targeting to make your site a PWA one, convert all HTTP request over HTTPS and add a service worker.
Site cannot be installed: the page is not served from a secure origin
Here is the Lighthouse audit report, which says Manifest is not

403 when deploying to app engine using service account

I am having an issue deploying a Node project to Google App Engine when using a service account. I am getting a 403 error.
{
"error": {
"code": 403,
"message": "Operation not allowed",
"status": "PERMISSION_DENIED",
"details": [
{
"#type": "type.googleapis.com/google.rpc.ResourceInfo",
"resourceType": "gae.api",
"description": "The \"appengine.applications.get\" permission is required."
}
]
}
}
I have given my service account the App Engine Admin and Storage Object Admin roles. I am using the downloaded JSON key file to deploy.
I am then running these two terminal commands:
gcloud auth activate-service-account --key-file appEngineAuth.json
gcloud --quiet --verbosity=debug app deploy app.yaml --promote --log-http
This is my app.yaml file:
runtime: nodejs
env: flex
If I run gcloud auth list I see my service account user selected. I am able to deploy if I do gcloud init and then go through the process of using my Google account but I can't do that from my CI server.
I have deleted and recreated my service account a couple of times and made absolutely certain I am using the correct key file. I even tried giving my service account the Owner role but that didn't work.
This turned out to be an app engine bug. Support took about a week to fix the issue. As a temporary work around I had to create a new application and use it. This bug only affected one of my six applications.
Google case #: Case 15238823

What is public/manifest.json file in create-react-app?

I know that chrome extensions use 'manifest.json`, but here, it is used as something else as well.
contents -
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "192x192",
"type": "image/png"
}
],
"start_url": "./index.html",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
When I change some value, page update, but nothing changes.
It's a Web App Manifest that describes your application and it's used by e.g. mobile phones if a shortcut is added to the homescreen.
From MDN (linked above):
The web app manifest provides information about an application (such as name, author, icon, and description) in a JSON text file. The purpose of the manifest is to install web applications to the homescreen of a device, providing users with quicker access and a richer experience.
manifest.json is the json file that is mostly used to describe our app On mobile phones
The manifest.json provides information about a web application in a JSON text file, necessary for the web app to be downloaded and be presented to the user similarly to a native app (e.g., be installed on the homescreen of a device, providing users with quicker access and a richer experience). PWA manifests include its name, author, icon(s), version, description, and list of all the necessary resources (among other things).

The Facebook Instant Articles module requires the facebook-instant-articles-sdk-php library in Drupal

How about friends, I installed in drupal 7 the module Facebook Instant Articles, but when I activate it it puts me this error: The Facebook Instant Articles module requires the facebook-instant-articles-sdk-php library.
I downloaded the facebook-instant-articles-sdk file from https://github.com/facebook/facebook-instant-articles-sdk-php, I unzip it and upload it to my site in the path: / httpdocs / sites / all / Libraries / facebook-php-sdk / src return to my site to activate the module but still showing "The Facebook Instant Articles module requires the facebook-instant-articles-sdk-php library, and composer autoloading"
Can you tell me if I'm doing bad lake, or should I do anything else?
Thanks for your help.
I Have also installed Drupal 7 with fb_instant_article Module.
In addition, I installed Composer_Manager and XAutoload. And I have installed the SDK via Composer.
htdocs/sites/default/files/composer/composer.json
{
"require": {
"php": ">=5.3.0",
"sensiolabs/security-checker": "~2.0",
"facebook/facebook-instant-articles-sdk-php": "^1.0.0"
},
"config": {
"autoloader-suffix": "ComposerManager",
"vendor-dir": "../../../all/vendor"
},
"prefer-stable": true,
"autoload": {
"psr-4": {
"Drupal\\fb_instant_articles\\": [
"../../../all/modules/fb_instant_articles/src"
],
"Drupal\\fb_instant_articles_display\\": [
"../../../all/modules/fb_instant_articles/modules/fb_instant_articles_display/src"
]
}
}
}

Resources