Is there a limit on number of MS Graph API calls? - api

I have created an App in Azure and given, as I thought, sufficient privileges.
Now when using the Api from the App, I get occasional errors.
For example:
https://graph.microsoft.com/v1.0/groups/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/members?$select=id,userPrincipalName
gives usually the correct result, i.e. the members of the group. When I run it multiple times, however, I get:
{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
"request-id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"date": "2020-04-27T07:35:43"
}
}
}
This happens not only from the app, but using Postman with the same credentials.
How can I have insufficient privileges, if the call has gone through multiple times already, then all of a sudden it does not.
Is there a limit on number of MS Graph API calls? I couldn't find any informatin on this.
Appreciate any help.
EDIT:
Thanks to everyone trying to help here. But the problem apparently was with Microsoft.
After seeing a couple of other people having the same problem, I put it aside for a few days.
Now revisiting my app, all the calls work fine.

You need to have Ms Graph level permissions for fixing the error. According to
List members documentation One of the following permissions is required to call this API. To Use Graph API in Postman find document here.
To learn more, including how to choose permissions, See permissions.

Related

how to fetch events data from LinkedIn APIs?

I am trying to fetch events data through LinkedIn API, but its throwing this error even I passed access token in my header. One more thing I am using postman to create API calls.
I am using this url to call API:-
https://api.linkedin.com/v2/events
{
"serviceErrorCode": 0,
"message": "Resource events does not exist",
"status": 404
}
I am rather new to working with these complex APIs, please help me
I read some more about it and it's written there that one need some special permissions to use event data ."r_events_leadgen_automation" permission is required. But how to get this permission, there is nothing on the docs about this.
You need to create an app and then request access to the Marketing Developer Platform under the Permissions tab. However, getting this access is not easy. You need to fill out and submit a detailed form asking questions about your business and what you intend to do with the access. And you may need to ask for more access after all. I have never gone that far.
You can find more information here.

How to get r_basicprofile access for linke in APIs

Am trying to call
https://api.linkedin.com/v2/people/q=firstName&firstName={name} but getting the following error
{
"serviceErrorCode": 100,
"message": "Not enough permissions to access: GET /people/q=firstName&firstName=ahmed",
"status": 403
}
How to enable my account to get access on r_basicprofile access
According to the migration docs, access to the basic profile fields is being restricted to developers that are members of the partner program. So you'll have to apply to a partner program to access those fields. However, LinkedIn has no clear documentation on which partner program developers should use for the simple use case of maintaining access to r_basicprofile. I've talked with a couple of their customer service reps and they eventually directed me to ask about it here but it seems no one has a clear answer for this...

Linkedin OAuth pictureUrl leading to a 500 error

Until this morning, for the last 2 years I experienced no issues with the Linkedin Oauth system I have implemented. I can verify that all the data is still coming through, but suddenly a very strange issue has come up with the pictureUrl parameter of the returned data. It no longer leads to an image, and instead leads to a page which looks like this:
I can't figure out what has gone wrong, any advice would be greatly appreciated. All other data is coming through just fine.
The issue seems to be that LinkedIn OAuth API returns a 500 error when the OAuth client asks for more fields than the application is permitted to request. It can be resolved by specifying the specific fields and scope.
Per this recent discussion at GitHub (https://github.com/auth0/passport-linkedin-oauth2/issues/24), specify the specific profileFields and scope :
{
profileFields: [
"formatted-name",
"headline",
"id",
"public-profile-url",
"email-address",
"location"
],
scope: ["r_basicprofile", "r_emailaddress"]
}

Internal server error on connections API retrieving current-share field

I've been having an issue querying linkedin information through the connections API.
Of all my connections there's this one contact that seems to be kind of buggy.
So I'm basically querying the following API:
https://api.linkedin.com/v1/people/~/connections:(current-share)?count=1&format=json&modified-since=0&start=35
returns internal service error:
{
"errorCode": 0,
"message": "Internal service error",
"requestId": "WSKG1J703S",
"status": 500,
"timestamp": 1446053949746
}
So far my conclusions on this issue are:
Only happens for this connection (I'm able to query the remaining connections)
Only happens when the fields include current-share, I've tried other fields and all of them work for this connection
Current share from the connection seems to be an updated profile photo, I have asked a friend to change his and it still worked for him.
I've looked at similar questions but most solutions point to reducing the number of connections being returned and I'm currently retrieving just one, as seen above (I have tried to return a batch of 100, 250 and 500 all have the same issue when the batch processes that one connection).
Anyone knows what might be happening?
LinkedIn's Connections API is no longer openly available. If you have access to it and are experiencing issues, you should get in contact with your Partner Engineering representative at LinkedIn, rather than inquiring in a public forum.

Google Simple API key stopped working

I'm using Python/Twisted to do asynchronous HTTP calls to the Google+ API. Our client app passes over the user's access_token and we do an API call to...
https://www.googleapis.com/plus/v1/people/me/?%s&key=%s&
... where %s and %s are being filled with a valid access_token and (supposedly) valid Simple API Key, respectively.
Everything was working beautifully yesterday. Today I continued to work on the unit tests for this when the API suddenly started returning:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "keyInvalid",
"message": "Bad Request"
}
],
"code": 400,
"message": "Bad Request"
}
}
usageLimits, keyInvalid... Okay, I get it. I've seemingly hit the usage limits and they have invalidated API keys coming from this account. Except, I haven't...
The "Courtesy Limit" is supposed to be "10,000 requests/day", yet I've only made a couple hundred calls (according to Google's own usage graphs), and I am still seeing "0% used" on the quotas tab.
I would have brought this to Google directly, but they seem to have dropped their Developers Google Group in favor of a Google+ discussion that doesn't actually receive any responses.
Any help or guidance is extremely appreciated. Thanks!
The answer was quite simple! You can't send both the access_token and the key in the same API call. If you use the access_token you're authenticating the API call as the user, if you use your projects Simple API Key you're authenticating as yourself. If you use both, the call fails.
Just so we are clear, you are using your key from your Google API Console page? On there you should see a tab for "API Access" near the top left hand corner of the page. Make sure that the API Key you are using is your Key for browser apps (with referers) Key, otherwise it won't work.
At any rate, an API Call for me looks like this:
https://www.googleapis.com/plus/v1/people/114789529333378876576?key=ENTER_YOUR_KEY_HERE
You should be able to make at least one API Call per day without a valid Key.
This took me quite a long time to figure out, so hope to save some time to someone else :)
Take a look at thi spost, by google staff (in 2012..) https://groups.google.com/forum/#!topic/google-ajax-search-api/HuKhXfsoMQc
Sorry for the delayed response. This error (which we're working on improving the descriptiveness of) also occurs when you have a
restriction on your key (e.g. locked to a specific referer or IP
address). Please confirm that if you've set such a restriction in the
APIs Console, that the referer or IP address that you're making the
requests from. Pay special attention to any wildcards used on the
referer - for instance, if you use *.abc.com, it won't work if your
request comes from "yoururl".
also would have been great if google team fixed this issue! :)
In my case - I just had to wait few minutes because it was short time after updating my API KEY. Whenever you create a new key or update it on YT developer console. YT has up to 15 mins to make all the changes on their side
In my case I had a parameter named Key, so it thought that was an actual key, just renamed the parameter.