Google calendar add-on for conference solutions using alternative runtimes doesn't appear in dropdown - google-calendar-api

I followed all the steps, by creating google cloud project, enabled the Google Workspace Marketplace SDK and in Alternate Runtimes tab enabled the Add-ons API. I created a new deployment for the add-on and the configuration looks like below:
{
"oauthScopes": [
"https://www.googleapis.com/auth/calendar.addons.execute", "https://www.googleapis.com/auth/calendar.events.readonly", "https://www.googleapis.com/auth/calendar.addons.current.event.write", "https://www.googleapis.com/auth/script.external_request", "https://www.googleapis.com/auth/script.scriptapp"],
"addOns": {
"common": {
"name": "Waitroom develop addon",
"logoUrl": "https://lh3.googleusercontent.com/-WuPhRsFGKUc/XCng7m_FIxI/AAAAAAAAAGg/ASH4GCGDMs0d55OZQGCSIQHXjRAKnkeTQCLcBGAs/s400/jitsi-logo-96x96.png"
},
"calendar": {
"conferenceSolution": [{
"onCreateFunction": "https://wormhole.develop.waitroom.com/v1.0/google/calendar/create-session",
"id": "1",
"name": "Waitroom test",
"logoUrl": "https://lh3.googleusercontent.com/pw/AM-JKLUkiyTEgH-6DiQP85RGtd_BORvAuFnS9katNMgwYQBJUTiDh12qtQxMJFWYH2Dj30hNsNUrr-kzKMl7jX-Qd0FR7JmVSx-Fhruf8xTPPI-wdsMYez6WJE7tz7KmqsORKBEnBTiILtMJXuMvphqKdB9X\u003ds128-no"
}],
"eventUpdateTrigger": {
"runFunction": "https://wormhole.develop.waitroom.com/v1.0/google/calendar/update-session"
},
"currentEventAccess": "READ_WRITE"
}
}
}
So the issue is after installing the add-on. The add-on appears in the calendar on the sidebar but the add-on doesn't appear in dropdown. Refer the screenshots and the video for more details.
Add-on appear on sidebar
Add-on doesn't appear in dropdown
I tried reaching out to google support however failed to get the issue resolved. I made sure the suggestions from the support were followed, refer to screenshot below for the suggestions from google support.
google support response
I was expecting to see the add-on to appear in the conference solutions dropdown when creating an event in google calendar.

Contacting the google workspace support further confirmed that using any other language to develop the add-on this won't be visible in the conference solution section in Calendar. The solution is to create the add-on using Apps Script.
The response from google workplace support was:
After checking some details here, I can confirm that if you are using any other language to develop the add-on this won't be visible in the conference solution section in Calendar. The solution is to create the add-on using Apps Script. We have tested this behavior and using the Add-on development in Apps Script is recognized in the calendar web UI.

Related

How to configure Xamarin.Google.iOS.TagManager?

I'm trying to use Xamarin.Google.iOS.TagManager component in my Xamarin App and I configured it following the "Getting Started" documentation that is provided alongside it.
I can see my events tracked in Firebase console Analytics.
However, I do not see any events in Google Analytics. What am I missing?
There is a confirmed bug in the Xamarin.Google.iOS.TagManager component 5.0.6.2. It is discussed as an issue over where the component is maintained on github: https://github.com/xamarin/GoogleApisForiOSComponents/issues/61

Run acceptance/smoke tests after deployment

I have set up continuous deployment from a Visual Studio Online Git repository to an Azure Web App.
What is the best way to run acceptance/smoke tests on the website after a build is triggered and deployment has completed?
I have already tried POST_DEPLOYMENT_ACTION (How to add a custom post deployment script to azure websites?), but this seems to get ignored.
I also had a look at the Kudu PostDeployment hook (https://github.com/projectkudu/kudu/wiki/Post-Deployment-Action-Hooks), which appears overly hacky.
I am deploying a standard ASP.NET 4 MVC site by the way. Any help appreciated.
What is hacky about the PostDeployment hook?
An alternative to that could be to subscribe to the PostDeployment hook from the Kudu/SCM site
POST /api/hooks
{
"url": "http://www.callback.com/callback",
"event": "PostDeployment",
"insecure_ssl": false (set to true to ignore https certificate check, for test purposes only)
}
That would give you a POST like below on the specified URL when deployment is done:
{
"id": "cd5bee7181e74ea38a3522e73253f6ebb8ed72fb",
"status": "success", (could be pending, building, deploying, failed, success)
"author_email": "someone#somewhere.com",
"author": "Some One",
"message": "My fix",
"deployer": "Some One",
"start_time": "2013-06-06T01:24:16.5873293Z",
"end_time": "2013-06-06T01:24:17.63342Z"
}
More info here on kudu github wiki
What I ended up doing was customizing the build process to add a RunScriptTask at the end, which invokes my tests.
You can pass build parameters to the RunScriptTask like so:
"-username user#example.org -password test123 -environment " + DeploymentSettings.GetValue(Of String)("ProviderHostedDeploymentEnvironmentName")
If you edit the build definition from Visual Studio -> Team Explorer -> Builds, there is a tab on the left called Process that breaks down the build steps. If you click Show details at the top, there is an option to download the XAML build process template. You can customize this as you wish and then create a new build process template from that file. (Note that XAML build process template file must be pushed to the remote repository beforehand)

Swagger w/ ASP.NET v5 Azure Api App

I'm attempting to set up a Api App (Azure) with Swagger + Swashbuckle as demonstrated by Scott Hanselman at the //Build conference here: http://channel9.msdn.com/Events/Build/2015/2-628.
I have installed (using NuGet) the packages Swagger.Api and Swashbuckle.Core. It hasn't added any controller or settings that I would expect in order to have a swagger page. When I navigate to {baseUrl}\swagger, I get a 404 error.
I would think that since it has a UI it would require a Web App in addition to the Api App, but I've rewatched the demo and Scott clearly says you can add Swagger + Swashbuckle to any Api App. In a 2nd app though I'd think there may be issues with Api discovery. Has anyone set this up yet successfully?
Time rolls on and now Swashbuckle works for vNext (beta8 for me, probably other versions too) - thank you to the team and contributors!
In project.json add the package:
"Swashbuckle": "6.0.0-*",
In startup.cs in ConfigureServices():
services.AddSwaggerGen();
services.ConfigureSwaggerDocument(options =>
{
options.SingleApiVersion(new Info
{
Version = "v1",
Title = "My Super API",
Description = "A Super API using Swagger and Swashbuckle",
TermsOfService = ""
});
});
services.ConfigureSwaggerSchema(options =>{
options.DescribeAllEnumsAsStrings = true;
});
In startup.cs in Configure():
app.UseSwaggerGen();
app.UseSwaggerUi();
Now you can access your API doco - http://domain:port/swagger/ui/index.html
Access your Swagger definition - http://domain:port/swagger/v1/swagger.json
Then assuming you have at least one internet facing dev/uat/staging/prod environment, grab the definition URL then do File-> Import URI at http://editor.swagger.io/ - now you have code-gen for about 20 clients too :)
You can also setup your own code-gen server if you are so inclined too (https://github.com/swagger-api/swagger-codegen), however I leveraged the existing online generator. The online editor also has full model and relationship definitions too at least in my case where I fully defined my model using EF7 (I know, ick... but it's much better than <= EF6 and ServiceStack doesn't support CoreCLR, yet). Depending on the size of your project this could save you a few hours to a few weeks of work documenting, plus it is dynamically updating itself as you code more. And you can use it to test your endpoints too, but I still prefer PostMan.
Full sample project at https://github.com/mrsheepuk/ASPNETSelfCreatedTokenAuthExample/tree/beta8
Big ups to MrSheepUK
HTH
This answer is now outdated. See the other answer.
There is a nice blogpost describing the problem you have: https://alexanderzeitler.com/articles/Deploying-a-ASP-NET-MVC-6-API-as-Azure-API-App-in-Azure-App-Services/
This describes how you can add the Ahoy! package to an ASP.NET v6 Web Api project and adding this as an API app to Azure.
Here is another source: http://devmeetsbi.ghost.io/help-and-test-page-for-asp-net-web-api-asp-net-5-and-mvc-6/
You did all the right steps, but unfortunately for ASP.NET 5, Swashbuckle doesn't work yet.
You can get Ahoy! which is the next version of Swashbuckle that has ASP.NET v6 support here. That should make everything work.

Reference docs for Azure Resource Templates

I am looking for reference docs for the Azure Resource Manager JSON templates. Does anyone know if there is reference material for these templates?
There is general reference for required parameters etc like at Create a template deployment.
I am basically looking for the full availability so I can correspond setup on the portal to the JSON template. Also availability of features with apiVersion releases. I remember there being a MSDN documentation for the changelog with api version releases but cannot find it now.
If you create a VM with the desired settings, extensions etc then you can view their json template via https://resources.azure.com/
This will give some visibility into the Classic* templates.
All of the ARM templates can be found on GitHub here: https://github.com/Azure/azure-resource-manager-schemas.
It includes preview templates and should provide all the information you're after to determine which features are present in which apiVersion release.
Microsoft has finally created what I was looking for 🎉: full documentation is now available at https://learn.microsoft.com/en-au/azure/templates/
After some digging I managed to get the following list of schemas:
http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json
http://schema.management.azure.com/schemas/2014-06-01/Microsoft.Web.json
http://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.Sql.json
http://schema.management.azure.com/schemas/2014-04-01/Microsoft.Insights.json
http://schema.management.azure.com/schemas/2014-02-26/microsoft.visualstudio.json
http://schema.management.azure.com/schemas/2014-04-01-preview/Microsoft.Cache.json
http://schema.management.azure.com/schemas/2014-04-01/Microsoft.BizTalkServices.json
http://schema.management.azure.com/schemas/2014-08-01/Microsoft.Scheduler.json
http://schema.management.azure.com/schemas/2014-04-01/SuccessBricks.ClearDB.json
http://schema.management.azure.com/schemas/2015-01-01/Microsoft.Resources.json
http://schema.management.azure.com/schemas/2015-01-01/Microsoft.Authorization.json
http://schema.management.azure.com/schemas/2014-10-01-preview/Microsoft.Authorization.json
This list notably excludes:
Microsoft.ClassicCompute
Microsoft.ClassicStorage
Microsoft.ClassicNetwork
So I guess we're left to figure stuff out from the templates on those
To my mind we can dig that way:
open the azure-resource-manager schemas
Look at the main form below:
If you open properties, you will find the format that we need to fill:
open parameters and look at the structure:
$ref: #/definitions/parameter invite us to look at the same documents in definitions.parameters where you will find some documentation (like value you can use etc):
finally, if you look to properties.resources, you will find a list of url like:
{ "$ref": "http://schema.management.azure.com/schemas/2015-07-01-preview/Microsoft.ServerManagement.json#/resourceDefinitions/node" }
{ "$ref": "http://schema.management.azure.com/schemas/2015-07-01-preview/Microsoft.ServerManagement.json#/resourceDefinitions/gateway" }
if you open one of these url, you will find the JSON format you are looking for (here is a part of the first one):
There is not much available...
Azure Resource Manager Template Language
https://azure.microsoft.com/en-us/documentation/articles/resource-group-authoring-templates/
And then you can look at the different json.schemas that I have managed to find
deploymentTemplate
http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json
visualstudio
http://schema.management.azure.com/schemas/2014-02-26/microsoft.visualstudio.json
Sql
http://schema.management.azure.com/schemas/2014-06-01/2014-04-01-preview/Microsoft.Sql.json
Web
http://schema.management.azure.com/schemas/2014-06-01/Microsoft.Web.json
deploymentParameters
http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json
If you use Visual Studio to edit the json-template file you get intellisense (sometimes) which help a bit. But the lack of documentation is really annoying...for example I have no clue if the schemas listed above are the most recent or not, and I have no idea where to find which one is the most resent.
Edit:
I came across the list of additions and changes to the Service Management APIs. Seems to be a bit outdated, 2015-01-01 is the current version and it's not there.
Edit2:
With the Iaas updates at Build 2015, there seems to also be a lot of Azure Quickstart Templates. At minimum, they have the particular cases I was looking for with storage accounts.

How can I resolve a Google Maps API key Issue?

I have been having trouble with the Google Maps API for one week now and I'm unable to resolve it :(
I have a site that has been using the Google Maps v3 for several weeks now without any issues. But suddenly, it starts complaining that: Google has deactivated the use of the Google Maps API for this application, because the offered key is not a valid Google-API-Key or the use of Google Maps v3 is not allowed for this site.
I double checked everything, including: trying a new key; checking domain restrictions and activation in the API-console - Everything is alright.
I'm using simple authentication. Every help would be highly appreciated :)
The Version Handling Has Changed. This Code Is No Longer Valid (see the code below in the update):
One thing you can do immediately to bypass such problems: explicitly set the version of the API you are using to 3.6:
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?v=3.6&sensor=false">
</script>
Keys were introduced in 3.7, so you do not get any warnings if you set your version to: 3.6.
Important Update That Makes the JavaScript Code Above Invalid:
Setting the version to 3.6 will no longer function as a work-around for this, because you are no longer able to request version 3.6. You should not use the code above, but should use the following code to load the Google Maps JavaScript 3.8 library:
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?v=3.8&sensor=false">
</script>
Google recently announced a version update; here is the content of the Google announcement email:
We recently released a new minor version of the Google Maps API. This
means that the versions are now:
3.9: Development/Nightly
3.8: Feature Stable
3.7: Frozen
3.6 has been removed: if you request it you will receive 3.7.
In this latest release of 3.9, we've added:
* Country restriction for Autocomplete (AutocompleteOptions?.componentRestrictions)
* Regions and Cities type filters
You will also get all the features of 3.8 (now Feature Stable),
including:
WeatherLayer and CloudLayer
Click-to-go/Click-to-zoom in Street View
orderBy, limit and offset for FusionTablesLayer
utc_offset and opening_hours in PlaceResult
google.maps.geometry.poly.containsLocation() and isLocationOnEdge()
DemographicsLayer (Maps for Business only)

Resources