One one particular BIM360 hub the API: Autodesk.Revit.DB.Document: SaveAsCloudModel(Guid accountId, Guid projectId, string folderId, string modelName) throws the exception:
You do not have cloud model entitlement to access this resource in cloud. Many other hubs call this without any issues.
The user can manually save to the same exact bim360 project/folder combination with the same file on the same machine.
The rights were checked in the manage.autodesk.com as BIM Collaborate Pro for the user and admin rights to all projects.
The ids are correct. In the journal, before the api call: Utility.getEntitlement: The entitlement is Skyscraper is found.
Solved the issue privately, but append the details here to help others.
Actually, the user has Skyscraper (workshared cloud model) entitlement, but the user doesn't have Single user entitlement.
The user created a non-workshare cloud model and wanted to convert it workshared cloud model, but it failed at the 1st step to save the non-worksharing model because he did not have Single user entitlement .
The suggestion is:
Enable worksharing locally (like he enable a worksharing in revit local file);
Call saveAsCloudModel API.
Related
I'm testing Azure Graph API.
and I'm trying to find an API that allows me to retrieve only users that are assigned to a specific app I created.
In app registration page, I gave a user.read.all permission, but the get user API gives me all users that are in the AD and not only that are assigned to the app I created. Should I change the permissions? or to access an another API?
Does anybody know what to do?
Thanks
Additionally, This object id should be based on service principal and not the application registration here.
You can retrieve the object Id from Azure AD->Enterprise Applications->Your app->object ID.
You need to have at least Application.Read.All and Directory.AccessAsUser.All for delegated permissions or Application.Read.All for application permission based on user or application context.
For specific details, you can add $select parameter to show only the displayName of the users assigned to the app.
https://graph.microsoft.com/v1.0/servicePrincipals/{object Id}/appRoleAssignedTo?$select=principalDisplayName
As a workaround you can use the below graph API to get the list of users.
https://graph.microsoft.com/v1.0/servicePrincipals/{ObjectID}/appRoleAssignedTo
Note: The above graph API gives the Object Types User and Service
Principle as well
As discussed in the MS Q &A Platform This endpoint currently does not support filters based on appRoleId. In fact, except that the id parameter can be filtered, the three parameters appRoleId, principalId, and resourceId do not support filtering. Similar issues have been raised before.
I am trying to retrieve a user's profile picture in Python using either the users.get method or the users.photos.get method from the Google Directory API. I have set up my service account with the proper scope, and I get a 200 response when calling both endpoints, and can view actual data for every field, but when trying to access the profile image, I get a generic silhouette image. The methods I have used to try and access the profile images are:
With the users.get method, I have tried making a get call on the thumbnailPhotoUrl field using AuthorizedHttp under google.auth.transport.urllib3 from the Python google-auth package. The AuthorizedHttp object is created using the google service account credentials.
With the users.photos.get method I have tried decoding the photoData field with web-safe base64.
Most likely their photo is only linked to their Gmail account profile, which is inaccessible via the Admin API. You need to upload their photo directly through the admin.google.com GUI. Then your request will return that photo.
My company runs a SaaS application and we have hundreds of organizations integrated with Salesforce. For one customer in particular we are receiving the following error when attempting to authenticate to the API.
Error: sObject type 'Organization' is not supported.
On a Salesforce forum someone suggests that View All Data permissions are required to access the Organization object. I'm not entirely sure this is accurate.
How are permissions for this object configured?
That looks like it is a permission issue, I'm guessing you have a controller build to authenticate for you, if you change it to without sharing, it should fix your issue
public without sharing class Foo {}
I am creating an app in ai2 that connects to one of my fusion tables as a high score datastore.
If I use traditional Oauth2 flow then each user would be presented with an oauth login for their fusiontable, which is not what I want.
I have set up a
Client ID for Android application
in the google developer console which gave me
Client ID xxxxxxxxx.apps.googleusercontent.com
Redirect URIs
urn:xxx:xxx:xxx
http://localhost
Package name appinventor.ai_xxxxxxxx.xxxxxxxx
Certificate fingerprint (SHA1) 12:34:56 etc
Deep linking Disabled
What I want is for my app to connect to my fusiontable using my credentials regardless of which device or which user. How do I do that?
Thanks
This document is a very simple and straight-forward guide to creating a fusion table for your app.
https://docs.google.com/document/d/1HifuZqz5xu0KPS-e4oUv-t-nQoUQ8VMNyh_y6OjZkc0/pub
Steps:
First, you have to create a project at console.developers.google.com.
Then go to the API manager in the menu. Search for and enable the fusion tables API.
Now create a service account key. You may have to look in the credentials menu for this setting. Choose "enable Google apps-wide delegation". A service account is a localized email address that your app can use when you share the fusion table with that account. It provides more security than the anyone with the link can edit setting.
Now go to New Credentials > Service account key. Select P12, and the file will automatically download. If the name of the file has spaces, remove them.
Next, create a google fusion table.
Now share the table with the service email you created. Set the permission to Can Edit. Uncheck the notify box and hit Share.
Now, go to App Inventor. You need:
Your Service Account Email address (also called service account ID)
Service Account key file (.p12)
Fusion Table ID code (don't worry about this yet)
First, upload the key file.
In the fusion tables component property menu, set the KeyFile property to the key file. Copy the email address you created earlier and paste it in the ServiceAccountEmail property. Check the Use Service Authentication box.
Last thing: In the fusion table, go to File > About This Table. Copy the table Id. When you do operations with the table, you will need this id. You can store it in a variable if you want.
This property means that you can share and use multiple different tables with the same service account. Just share the other table(s) you will use with the service account and use that table's id when you do operations with that table.
I created a project and a dataset in Bigquery. I can share the dataset with other developers but I cannot share the project. I get a 404 error when I click the "Team" link on the left pane. Is there a work around to share the project?
Dataset sharing in BQ is a little unintuitive - the actual sharing is pretty simple but the UX for the person you are sharing with is a little vague.
If you want to share:
Select the dataset
Select Share Dataset
Choose an email, google group, etc.
For data access only (w/o ability to run jobs on your project - so you're not billed for queries they make) choose the BigQuery Data Viewer role.
All this explained here: https://cloud.google.com/bigquery/docs/dataset-access-controls
Once this is done, the user you shared with will be able to run queries on the dataset BUT will not be able to view your project and dataset listed under their data resources on left hand side of BQ console.
This is because you've provided them IAM access to the dataset and not the project (which is the correct way to do it).
If they want to see the project/dataset listed they need to pin the shared project/project to their project in BQ console:
They should enter the BQ URL for the sharing project: https://console.cloud.google.com/bigquery?project=[SHARING_PROJECT_NAME]
Select the project on the data resource browser on the left and select PIN PROJECT
Go back to their original project on BQ console and will now see the shared project listed there as well.
You can share the dataset with a service account which is in any project.
I think you can do the same with regular user accounts without adding to the project.
https://cloud.google.com/dataprep/docs/concepts/cross-bq-datasets
From BigQuery webconsole "share dataset" option:
You can share with these type of accounts
Google Account email: user#gmail.com
Google Group: admins#googlegroups.com
Service account: server#example.gserviceaccount.com
Google Apps domain: example.com
anybody: enter "allUsers" to grant access to the general public
all Google Accounts: enter "allAuthenticatedUsers" to grant access to any user signed in to a G[![enter image description here][1]][1]oogle Account (warning: shares publicly with users outside of your organization)