How can we customize API Management developer portal using GitHub code - azure-api-management

I am trying to modify APIM portal using https://github.com/Azure/api-management-developer-portal/releases . But the changes are not reflecting. Is there a way to reflect the changes?

Related

Can't add custom Forge integration with Document Management to BIM 360 account

I have an issue with access integration of Forge and BIM 360.
This account has paid Docs license and Forge paid tokens.
The forge app was created.
All the 11 services are activated in the Forge app.
When I click on adding integration it shows me this window.
Custom integration options
But there should be “Document Management” checkbox also, right?
Now I have "BIM 360 Account administration” checkbox only
I’ve tried to call endpoints anyway.
So I can access projects without a problem using this endpoint. It works ok.
https://aps.autodesk.com/en/docs/bim360/v1/reference/http/projects-GET/
But if I want to get files from the project and the specific folder it gives me an 403 error
https://aps.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-folders-folder_id-contents-GET/
Example of returned json
{"jsonapi":{"version":"1.0"},"errors":[{"id":"74dadd7c-2191-471c-8e42-c4ca2af30ab1","status":"403","detail":"Forbidden"}]}
I've expected this endpoint work and return me content of the specific folder of the project
https://aps.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-folders-folder_id-contents-GET/
If you are on an enterprise plan and the Apps or Custom Integration features are not enabled, send an email to bim360appsactivations#autodesk.com to request access
Ref: https://knowledge.autodesk.com/support/bim-360/learn-explore/caas/CloudHelp/cloudhelp/ENU/BIM360D-Administration/files/About-Account-Admin/GUID-0C83B441-C611-4574-8DA0-45D5CFC235FA-html.html

How to reset content of the developer portal

The Azure APIM developer portal (new one) has been edited and now some of the menues dont work.
Is it possible reset the content ?
I have tried the capture.bat (from another APIM instance) and generate.bat into the broken instance but it didnt appear to work - i even made changes to one of the jpg files in the scripts.v3/media directory but it didnt get changed in the portal when i ran generate.
I find the "run your own hosted developer portal" scenario confusing. I am unclear on:
where is the content held for the unpublished managed portal ?
where is the content held for the published managed portal ?
where is the content held for the unpublished "own hosted" portal ?
ie when running locally (npm start on the Github repo code)
where is the content held for the published "own hosted" portal ?
When developing on a self hosted scenario, ideally i think it would be benefitial to hold the content locally so that it could be placed in source control. Failing that, is it possible to customise such that the "run your own hosted developer portal" content is in an accessible location such as a blob in a container on the same storage account that the code is being published to? That way I could copy content from an unbroken APIM into a storage account and develop with that.
Is it possible reset the content ?
Yes. Have you actually tried the simplest solution?
Open developer portal in edit mode:
Click reset content
where is the content held for the unpublished managed portal ?
where is the content held for the published managed portal ?
Same place - in the APIM resources. When you edit developer portal and you save it,
other users won't see those changes until you click publish.
You can also use developer portal revisions, from REST API or directly from Azure Portal. This will give you an opportunity to go back to previous revisions. So if you are publishing manually, after you edit and save developer portal I recommend to go to the revisions tab in azure portal and publish it from there - this way you will have simple version control.
For managed version, important thing to understand is, "content" consists of:
content types and content items which are just json template files describing your pages on developer portal. Those can be accessed by REST API here and here (this is a parent child relation).
and your uploaded custom media (images, fonts etc.) that can be retrieved from APIM Blob Storage. To get SAS URL for APIM Blob Storage and connect to it, just call your APIM Management API with address POST /portalSettings/mediaContent/listSecrets/ - this URL is not documented but you can call it like any other endpoint.
And that's it. That's all you need - json file and media files. The rest is managed for you. And in fact that's what those scripts from github repository are doing. capture.bat for example is downloading all the media and json from developer portal and saves it to your local folder. So you can for example save it to source control or/and upload to another APIM developer portal instance.
When managed developer portal and online editor is not enough for you and you need more customization, like custom widgets etc., you can go with self hosted version. It gives you more freedom but the downside of course is you are responsible for its upgrades.
where is the content held for the unpublished "own hosted" portal ? ie
when running locally (npm start on the Github repo code)
When you run npm start it just runs locally like when you develop any other webpage. In this case it uses webpack-dev-server to host the page.
where is the content held for the published "own hosted" portal ?
Wherever you feel like it. That's the idea behind the self-hosted version. After you are happy with the changes you've made, just run npm run publish and files will appear in dist folder. Then you can upload them to the resource of your choice. This tutorial shows you how to enable hosting of static websites for your blob storage and host your developer portal there. Everything is explained, just follow the article carefully step by step (don't skip any step, every single one is important in order to successfully configure and deploy your self-hosted developer portal). Good luck.

How do we disable Azure Api Management developer portal (both legacy and new)

I worked with a team today who wanted to disable the developer portal and the signup.
The best we could come up with was to disable the legacy developer portal by adding delegation to a static site as per https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-setup-delegation
I did some testing and the new developer portal can be disabled by removing all the providers including username and password from the identities blade. This means going to the new portal returns "Developer portal has not been published yet." I think I read that the new portal would be optional somewhere.
Does anyone know a the correct way to disable the legacy and new developer portals?
From what I have found in my own research, Azure API Management does not have a way to disable either the legacy or new dev portals. There is a roadmap item for an Unpublish feature for the new dev portal at the following address:
https://github.com/Azure/api-management-developer-portal/projects/4#card-28534235
As this link will likely not last very long, here is a screenshot of the referenced roadmap item:
As an alternative to removing the identity providers, you can use the Azure APIM Management REST API to toggle the "properties.enabled" portal setting. Instructions are available at this link: https://blog.bitscry.com/2019/11/07/disabling-signup-in-the-azure-api-management-developer-portal/
Note that when this setting is changed to enabled = false, both sign up and sign in are disabled on the legacy dev portal (I don't know if the new dev portal respects this setting).
What can also be done in the legacy dev portal is to modify the Sign In and Sign Up templates to remove their respective forms, preventing anyone from being able to perform either action. Removing the relevant widgets from the respective pages in the new dev portal may also be feasible (or possibly delete the Sign In and Sign Up pages complete and remove from the Navigation list).

How to deploy google drive api with console.developers.google.com

I am using projects created in https://console.developers.google.com/project, now I want to deploy my app in real environment. So was wandering if the credentials which I have in the project created in console.developers.google.com/project will be used or console.developers.google.com/project is a sandbox only. I remember I saw another site (something: api.google.com) which I believed is the real site that I can create project use the client id from it for deployment. Can someone please guide me in this.

Integrating a Web Application with BOX.NET using Content API

I am in the process of conducting a POC for integrating one of our Corporate Applications with BOX.NET.
The Corporate application resides over Amazon Cloud and I would like to use that App to perform CRUD operations on BOX.
Can I go ahead and start using the Content API (REST) provided by BOX.NET? On the BOX side I would have to go and register my application to obtain a API KEY. Please confirm if my understanding is correct.
Thanks
That's correct. To start using the Box.com API you should go to http://developers.box.com and get an API key for your application. Depending on the language you like to code in, there are SDKs you can use, or you can code directly against the REST Content API.
The Box APIs are free to build against. Users that login to your application will have to go through an OAuth2 flow to allow your application to access their Box content.