Unknown Get calls are received and logged in Azure APIM - azure

I have an instance of APIM which hosts multiple APIs. This include multiple post operations.
I have observed many Get calls being logged for the endpoint which are actually Post. I verified from client who uses it and they are not making any get calls for the same. When I searched IPs logged in app insights it belongs to Microsoft.
Where the actual API is post operation as shown below
May I know why these get calls are made? Is there any possibility these are from APIM?

I raised Microsoft ticket to understand why we are getting unknown Get calls. They analyzed IP address where its coming from then they got to know its coming from Microsoft Teams. If somebody post URL in Teams, then Teams trying to render the url in order to get some information to show in the chat. In this attempt it makes a Get calls

Related

Azure Api Management log user accessed api

Is there any rest api that can be used to fetch api access detail for a user. To know how many times a user accessed a api and how many success or failure request were there. i am not able to use log-to-eventhub.
Thanks to #MayankBargali-MSFT's Q&A answer to similar kind of issue and posting here to help other community members!
Azure APIM will do monitor the APIs published but only listed details are logged as per the APIManagementGatewayLogs.
Based on your requirement, leveage the APIM reporting API and refer to Microsoft Doc for more information on reporting API.
To know who the user accessed particular API in APIM recently, You can call the List by Request API by adding the filter (For example, last 4 days from this day, apiID, etc.).
The above response will provide the details like apiID, timeStamp, userID that helps to find the details.
Still paraphrasing #MayankBargali-MSFT from the post linked above:
To know how many time that user accessed the API, use List by User API where it gives the overall result in which we need to filter with the apiID, then you can get the API Level count.
Point to note here is:
Filter might not work for every column. Therefore, you must modify the outcome at your client's end to perform more filtering and obtain the appropriate result. For further information, kindly consult the relevant API document. As long as you don't delete the APIM instance, the data will continue to be maintained permanently.

How I can get the Call Quality of all teams Calls&Meetings by Graph Api or similar?

I worked on a solution for getting all teams audio & video communication quality in the company.
https://learn.microsoft.com/de-de/learn/modules/msgraph-changenotifications-trackchanges/5-exercise-change-notifications
On Runtime-Ecxceptions I use the old version the videos are created. older sources
That should solved later but it should no reason for getting onl some notifications not all.
I tried to get the callrecords by change notification and it worked partly, but I get not all notifications, and the endpoint handler work more than a half day (12, 14 or 16 h i think).
If I understand it correct. All cloud communication audio-/Video Call was accessed with https://graph.microsoft.com/beta/communications/callRecords/
If the CallRecord is an meeting type the the joinWebURL is set and must be added to the filter-clause to get the corresponding meeting.
All online meetings are missing
some group calls direct routing calls
and PSTN-Calls I have not tested it.
My Created subscription:
{
"changeType": "created,updated",
"notificationUrl": "https://a283-178-27-237-107.ngrok.io/api/notifications",
"resource": "/communications/callRecords",
"expirationDateTime": "2021-08-29T11:00:00.0000000Z"
}
I took on every creation or renewing the subscription the max time 4230, but I tried it with short timespawn and periodically renewing the subscription.
My setting in the registered App
// add permissions to registered app
CallRecord-PstnCalls.Read.All
CallRecords.Read.All
Calls.AccessMedia.All
Directory.Read.All
OnlineMeetings.Read.All
OnlineMeetings.ReadWrite.All
Reports.Read.All
User.Read.All
(OnlineMeetings is only a short time added)
I set the application access policy for this app with powershell.
Then I tried to get the Callrecords through the Callrecords History of teams Admin Center.
But the Id's there worked party an with the user who created the Meeting or call.
I got the messages Forbidden, invalid token,... so it seems the app works on with delgate permission, but I set App permission.That could clarify why i cannot all CallRedcords.if Icreated a subscription for a app which has appermision, the webook should called on ever Call.
So have 2 big problem:
Why there are not all notifications send?
How can i get an valid access token which works with app permissions and not with delegate permissions?
Update:
Now it seems i get all notifications, point 1 & 2 or irrelvant?
not use postman accessing subscriptions, i get no valid token for postman what ever I tried (Oauth2 Authentification copying token from the notificationurl handler), it seems the effect of the applicatiobn access policy.
Has anybody a solution for that?
Update 15.09.2021:
CallRecords Records seems to work fine, there was an error on postman enviroment.
I ignored other manuals and followed the steps to use postman from microsoft for that (see https://learn.microsoft.com/de-de/graph/use-postman). Creating subscription with the application permission and it seems I get all notifications.
So getting all notification seems to work. So I will close it now.
CallRecords Records seems to work fine, there was an error on postman enviroment. I ignored other manuals and followed the steps to use postman from microsoft for that (see https://learn.microsoft.com/de-de/graph/use-postman). Creating subscription with the application permission and it seems I get all notifications.
So getting all notification seems to work.
So I could close it generally, beacuse concerning question in this context needs own questions.
A controll check if I get all notification is the onyl open point on this question.
So I wait a few days, if there is no answer I close this question.

Instagram banned my server ip address to use __a=1 api

I have a little application which needs to retrieve some public pages info by calling instagram.com/[username]/__a=1 .
my application was working for about a week and suddenly instagram changed its way and instead of retrieving JSON data, it just redirected me to login page.
I can run my app in local... so I thought my server IP is banned or marked somehow.
I have used multiple proxies but it seems those IP addresses were banned too.
finally I used a valid sessionid and my application is working properly.
is instagram going to ban my account ?
if it is, how should I get public pages ?
I have read about depreciation of instagram api and new instagram graph api, and it appears to me that old api which have capability of satisfying my need, is going to be disabled in 2020, and new api platform is only for Business and Creator accounts. am I wrong ?
if I am right, what should I do then?
I have experienced exactly the same. Right now I managed to circumvent this issue by letting my applications users be the ones who request the JSON data (through a $.getJSON jquery request), as opposed to my server being the one doing the request. Since every user has a unique IP address, instragram lets all their requests go through. I then take the data their request receives and forward it to my server.
Right now, probably due to extensive testing, Instagram even blocked my home IP address, so when I'm on my home WiFi I cannot access the instagram JSON feed but when I switch to my phones 5G internet, I am able to do JSON requests for public profiles.
It is sad that Instagram has to block requests to public profiles this way, but I guess if you don't make too many requests from the same source or use dynamic IP-addresses you should be fine!

Instagram subscription - Unable to reach callback URL - ONGOING

This issue has been posted many times before but I haven't found a solution yet. I've contacted Instagram Developer support but a week later I've still had no luck or a response form them so hoping someone here can help me out. My app has been approved by Instagram for basic permissions.
Doing a Form POST to https://api.instagram.com/v1/subscriptions/ with all the relevant data (callback_url, object=user, aspect=media, verify_token, client_secret, client_id) to create a subscription for Instagram User Subscriptions yields the error: APISubscriptionError - Unable to reach callback URL
The callback URL I'm using has logging on it to log all requests which works
when accessed directly via a browser. Using the logs I can see Instagram isn't even reached my callback URL.
The callback URL is accessible publicly over the internet and the domain is being used in production.
The callback URL implements both GET and POST methods (even PUT just in case).
Worked a few weeks ago using a UAT URL.
The callback URL still returns the 'Unable to reach callback URL' with http or https.
I've changed IP addresses, used a VPN and run the post script form different locations.
Tried different parts eg domain.com/instagram/subscriptions or
domain.com/instagramsubscriptions
-Tried a different sub domain and different URL.
Have deleted all subscriptions using the DELETE request
Any help or suggestions would be greatly appreciated.

Not receiving event notification from DocuSign API

I am using the DocuSign Rest API v2. During envelope creation process, we will send our rest API URL to receive the notifications.
The events are properly receiving in our live setup. But in our local development setup we are not receiving the notifications.
For this, we have whitelisted the IP ranges mentioned in the DocuSign Page on our side.
https://trust.docusign.com/en-us/trust-certifications/ip-ranges/
But still, we are not receiving notifications to the development setup.
What else we need to do to get this done?
Unfortunately I'm unable to respond to the original post, however I've experienced the same issue (reported here). It only appears to occur when envelopes are sent as far as I can tell, and I'm able to retrieve the status afterwards - but it's not in line with what the API guide tells us, nor what was happening previously.

Resources