Autodesk Construction Cloud - Retrieve project users - autodesk-forge

How can I retrieve the users in a particular Autodesk Construction Cloud project?
In the past, I'd been using this API call. But somewhere along the line this stopped working for Autodesk Construction Cloud projects. It still works fine for me in BIM 360 projects.
I have tried:
Requested Resource:bim360/admin/v1/projects/d55af500-a5c5-44e6-9917-cf36ef71340a/users?limit=100
Response Content:{\"pagination\":{\"limit\":100,\"offset\":0,\"totalResults\":0},\"results\":[]}
If I go to the ACC webpage for this project (https://acc.autodesk.com/project-admin/members/projects/d55af500-a5c5-44e6-9917-cf36ef71340a) then the Project Members list looks like this:
So I'm confused why my GET request is returning 0 results when clearly I am a project member. My first thought was that the resource bim360/admin/v1/projects/:projectId/users no longer works on Autodesk Construction Cloud projects, but I couldn't find any ACC-specific alternatives in the ACC Documentation

Yes, it is a known issue. Those APIs are listed as incompatible here:
https://aps.autodesk.com/en/docs/acc/v1/overview/bim-360-compatibility/compatibility-table/
But it was behaving as if it is working but stopped working recently. Ideally, those incompatible endpoints should have been blocked in the code, but it wasn’t. Sorry for the confusion.
For Issues API, we now have ACC-specific endpoints. You will need to use the new one:
https://aps.autodesk.com/blog/acc-issues-api-general-availability
FYI: ACC version does not support pushpin. If you need pushpin support, let us know. We will need to add your name to the wish.
For Project Admin API, you will need to wait for the new one. One positive news is that Project Admin API for ACC is currently under private beta. (project creation and project users). We hope to move to public beta in a month or so. In a meantime, if you would like to join the private beta, are willing to test quickly, and give us feedback, you may contact your company’s Customer Success Manager (CMS) and request to sign up.
Once again sorry for the inconvenience this is causing.

Related

How do I quickly list all Google Cloud projects in an organization?

I would like to quickly list all Google Cloud projects in an organization, without AppScript folders.
gcloud projects list can be very slow. This documentation is about speeding it up, but does not show how to retrieve the Appscript folder which is used for filtering. Can that be done from the command line?
Also, gcloud projects list does not have a way to filter by organization. It seems that that is impossible as projects are not linked to their organization except through a tree of folders.
The documentation shows a way of walking the tree, apparently with Resource Manager API, which might do the job, but only pseudocode is shown. How can this be done with gcloud -- or else with Python or another language?
And if there is no way to accelerate this: How do I page through results using gcloud projects list? The documentation shows that page-size can be set, but does not show how to step through page by page (presumably by sending a page number with each command).
See also below for a reference to code I wrote that is the imperfect but best solution I could find.
Unfortunately there isn’t a native Apps Script resource available to work with Cloud Resource Manager API.
Although, it is possible to make a HTTP call directly to the Resource Manager API projects.list() endpoint with the help of UrlFetchApp service.
Alternatively, using Python as mentioned, the recommended Google APIs client library for python supports calls to Resource Manager API. You can find the specific projects.list() method documentation here.
On additional note, if you happen to use a Cloud project to generate credentials and authenticate the API call, you may want to enable Cloud Resource Manager API on your project by following this URL.
I’d also recommend submitting a new Feature Request using this template.
Here is some code that lists projects in an organization as quickly as possible. It is in Clojure, but it uses Java APIs and you can translate it easily.
Key steps
Query all accessible projects using CloudResourceManager projects(), using setQuery to accelerate the query by filtering out, for example, the hundreds of sys- projects often generated by AppScript. The query uses paging.
From the results
Accept those that are the child of the desired org
Reject those that are the child of another org.
For those that are the child of a folder, do this (concurrently, for speed): Use gcloud projects get-ancestors $PROJECT_ID to find the projects in your organization. (I don't see a way to do that in Java, and so I call the CLI.)

Looking up values in html in background of iOS app

I'm new to iOS development and I'm trying to make an app that tracks my student loans. I would like to have the app simply display a balance found on the loan's website and build on that behavior. I've got my app to open up safari to the website but I'd like more of a web-crawling behavior so it's done in the background. This web-crawler needs to be able to login to the website and then find a field with the loan balance value..
I've looked up several ways on how to do this but I can't get any of them to work with my novice level of experience with swift. If anyone has a recommendation and a direction to go with this, that would be great.
Thanks in advance!
I've written an app to get my uni's schedules, payment records, and grades by bypassing the login and gain access to API used by the website.
The step you could take are probably very similar to mine
Find out how the website authenticate its users (could be by cookie, session id's etc) You need to have some knowledge on web too. You can use the network tab on Chrome/Brave/Safari or any other browser to see what the website is doing when you click on 'login' for example. You could use Charles too, 30 days of trial should be enough.
After authentication succeed, track what API route the website use to get the datas to html. See what information you need to access the API route. Postman would be very handy to see the JSON response by the API.
To parse the response, you can use URLSession or networking library like Alamofire to get the job done.
If you want to see how I did it, here's the GitHub repo.

LinkedIn API v2 integration

I'm trying to integrate LinkedIn API v2 to the app I'm developing for my client and I need help with it. Basically, I need to allow users to fetch some of their LinkedIn profile data and save it to the platform. As I understood, the first version of the API will no longer be supported. https://developer.linkedin.com/docs
So, the problem is that the default field set I was able to retrieve is extremely limited. And it seems like I should apply for the Developer Program here to gain additional API access
https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program
I already submitted the application but haven't yet received any response. The frustrating part is that I'm not even sure if this is what I should do to get access.
Here's what I already discovered
Here it's said that the partner's program isn't available
https://www.linkedin.com/help/linkedin/answer/97491
Here it sends me to the partner program
https://developer.linkedin.com/support/faq
Should I choose marketing? https://developer.linkedin.com/partner-programs
I suppose so because other options seem to be irrelevant. So I already applied here
https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program
But still no answer
Here are the developers facing the same issues with no answer as well
https://www.linkedin.com/help/linkedin/forum/question/712591
https://www.linkedin.com/help/linkedin/forum/question/711176
https://www.linkedin.com/help/linkedin/forum/question/711027
Here seems to be the answer to a similar question but still, no specific link or steps to apply for a partner's program
LinkedIn API V2 - Can't get summary, skills and headline
Here they also tell about some partner's program but again without specifics
Linkedin oauth2 r_liteprofile not being returned from api
Here in the official doc, it's also said that I should apply to the program (which I did)
https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/migration-faq?context=linkedin/consumer/context
I applied on the 23rd of January and I'm still waiting for the approval without even knowing if this program will give me the API access I need
So I need to know one of the following
If my application will be approved it'll give me the extended access to the API v2 (r_fullprofile permission)
If the application I submitted isn't enough what else should I do in order to get the extended access to the API v2 (r_fullprofile permission)
It feels to be a simple process and I don't really understand why it has to involve the Marketing Developer Program when I only need to access some of the fields. I'm sure there is a reason for that. Could anybody from support provide some steps that I or my client should take on order to get the API access?
I already created the app as a developer here and successfully tested it
https://www.linkedin.com/developers/apps
So, just to be clear, the problem is not in something not working technically. It's just that I receive a very limited set of field of a user's profile and I need to expand it

billing clients for google api's

Questions regarding billing for Google API's or more specifically the places and maps Google API's.
We have an app which is part of a SAAS package. When clients use our Software we have maps and place's API built it, however we want to offset the cost of the bill using these API's to that particular client using the software.
Currently we have a single Google Project we created and enabled the API's on our own google account however this means we will foot the bill as its using our token.
Can clients somehow connect to our google project etc or do we simply need them to create their own google project and pass that token through? Is there a streamlined approach that covers this...
When we did for our multi tenant application we did create only one google project and billing was getting accumulated into a single account. We looked at what you're talked about but since google does not allow to bill separately without having separate google project. Google API billing works on google project id. We decided to bill our clients separately and handled all calls to Places API on a single google project.
Long story short - it was not easy to have our clients connect to our project without having them create their own google project we ended up with one google api project.
edit: also missed another important point - Google My Business API needed whitelisting for each project id so it was another reason to keep it as a single project
Passing the token to the application is a probably very bad idea and will result in a security risk for your client and their token if it is intercepted.
As a developer for the client they should create a token on their account and then they will be charged. They can then give it to you as the developer for use. This is however a gray area as technically you are not allowed to share your tokens with anyone TOC However i believe that client and developer relationship should be secure enough for sharing the token.
Ideally you should give the client the code they can then use their own token and run the application themselves.

Google CRUD Migration from SQL API to Fusion Tables API

I used Ferris Argyle's CRUD from the Google Apps Developer Blog and now must migrate this SQL API to Fusion Tables API. The full code is here. So far my efforts have left me with a code 404 error and lots of this:' <HTML><HEAD><TITLE>Not Found.' Ideally this example CRUD would be updated by Google but lacking an update perhaps someone could offer guidance.
What i've updated from the migration guide.
Turned on API, Removed numberic ID's, Updated libraries (None for me), updated URL end point.
added '&alt=csv' to query parameter.
added '&key=MyEncriptedAPIKey'.
I am unsure if OAuth in the CRUD must be updated.
I am unsure of the relationship between API Key and OAuth, do i need both or one.
Can anyone look at the example CRUD and tell me what i'm missing? i'm a novice with Javascripts, Google Apps, OAuth so examples or links are welcome.
thanks,
Scott "if it ain't broken don't fix it" B
Unfortunately Google Apps Script doesn't currently doesn't have native support OAuth2 authentication, which is required to by the new Fusion Tables API to access private data. Some users have had success implementing parts of the OAuth2 flow themselves in Apps Script, but as a novice this may not be feasible. If you are only accessing public data then you should be able to get by just using the API key.