403 Error : https://dc.services.visualstudio.com/v2/track - azure-application-insights

I'm getting errors when trying to send telemetry to application insights.
{
"itemsReceived": 2,
"itemsAccepted": 0,
"errors": [{
"index": 0,
"statusCode": 403,
"message": "Component private link id does not match incoming link id and private endpoint connection has restricitve flags enabled"
}, {
"index": 1,
"statusCode": 403,
"message": "Component private link id does not match incoming link id and private endpoint connection has restricitve flags enabled"
}],
"appId": "d7fbb2-f3d-42c-b1b1-f"
}
Could someone give me some guidance on what i need to be looking at to resolve that? I'm honestly not sure what the error is telling me.
There is no link id on my request.

The errors seem to be coming for incomplete/incorrect "Azure Private Link for Azure monitor configuration". Please refer to Review and validate your Private Link Setup to ensure that the configuration is done correctly.

Related

Google Calendar API Freebusy query returns "notFound" error

I'm trying to learn how to use this query; I created an API key and used Postman to
Post https://www.googleapis.com/calendar/v3/freeBusy?key="THE_API_KEY"
with this request body:
{
"timeMin": "2022-11-16T00:00:31-00:00",
"timeMax": "2022-11-16T14:00:00-00:00",
"groupExpansionMax": 100,
"calendarExpansionMax": 50,
"items": [
{
"id": "MY_OWN_GMAIL_ADDRESS"
},
{
"id": "OTHER_GMAIL_ADDRESS"
}
]
}
and got this response:
{
"kind": "calendar#freeBusy",
"timeMin": "2022-11-16T00:00:31.000Z",
"timeMax": "2022-11-16T14:00:00.000Z",
"calendars": {
"MY_OWN_GMAIL_ADDRESS": {
"errors": [
{
"domain": "global",
"reason": "notFound"
}
],
"busy": []
},
"OTHER_GMAIL_ADDRESS": {
"errors": [
{
"domain": "global",
"reason": "notFound"
}
],
"busy": []
}
}
}
What am I missing?
The Freebusy: query returns information about weither or not there is an event at the time of the request.
This method does not require authorization when being used against a public google calendar. There are a number of such calendars the holiday calendars are all public. You could also set your own calendar to public if you wish and then you would be able to use use an api key to access it.
API keys give you access to public methods only.
In order to access private user data. You need to be authorized using oauth2 with one of the following scopes.
If you do not have access to a calendar then it will return not found as you cant see it so your not going to be able to find it.
The solution i your case to fix your issue would be to either set the calendar to public and continue to use the api key. You will only be able to preform read actions against the calendar.
Or to switch to using oauth2 and send an authorization header with a bearer token.
Your post didnt include the Authorization header. Did you include it in your Postman Request?
Your need to send your Access Token as a Bearer Token in the Authorization Header
You can see an example for a request here:
https://developers.google.com/calendar/api/v3/reference/freebusy/query?apix=true#try-it

Azure Data Factory Copy Data Error code 2054 Failed to decrypt sub-resource 'None' payload on cloud with error

I am trying to copy a csv file from data lake gen v2 to SQL db.
Preview data works on the source link.
But debug failed with error below. Cannot find any reference in the web.
Please advise.
Error code
2054
Troubleshooting guide
Failure type
User configuration issue
Details
Failed to decrypt sub-resource 'None' payload on cloud with error: Failed to decrypt sub-resource payload { "properties": { "annotations": [], "type": "AzureSqlDatabase", "connectVia": { "referenceName": "myintegrationRuntime", "type": "IntegrationRuntimeReference" }, "typeProperties": { "connectionString": "", "encryptedCredential": "" } }, "name": "AzureSqlDatabase1" } and error is: Cloud stored credentials cannot be found with retry, please check whether related resource had been deleted before. Value is: { "Version": "2017-11-30", "ProtectionMode": "Key", "SecretContentType": "Plaintext", "CredentialId": "CSHFPOC_97157fbc-4813-4e5f-8c2a-a6769bb0f56e" }, type is Plaintext and credentialId is CSHFPOC_97157fbc-4813-4e5f-8c2a-a6769bb0f56e.., status code: BadRequest.

Field Value validation failed in REQUEST_BODY: Data Processing Exception while processing fields [/author] on linkedin ugcPost

Getting Error: Field Value validation failed in REQUEST_BODY: Data Processing Exception while processing fields [/author]
I have the "w_organization_social" permission in my app. I'm successfully getting the access token.
Can anyone help me what's going wrong?
Url: https://api.linkedin.com/v2/ugcPosts
Body:
{
"author":"urn:li:person:<id>",
"lifecycleState":"PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"shareCommentary": {
"text":"Hello world"
},
"shareMediaCategory": "VIDEO",
"media":[{
"status":"READY",
"description": {
"text":"hello world"
},
"media":"urn:li:digitalmediaAsset:<asset_id>",
"title":{
"text":"hello world"
}
}]
}
},
"visibility":{
"com.linkedin.ugc.MemberNetworkVisibility":"PUBLIC"
}
}
Response:
{
"serviceErrorCode" : 100,
"message" : "Field Value validation failed in REQUEST_BODY: Data Processing Exception while processing fields [/author]",
"status" : 403
}
While getting access token, make sure that you pass r_liteprofile and w_member_social permissions in scope.
Then you have to send a GET request to https://api.linkedin.com/v2/me, to get the Lite Profile and you will get the ID from the response.
Use the ID you got from Lite Profile to generate Person URN,
eg: "urn:li:person:<ID>"

How to safely test WooCommerce api key acces rights?

For an application I'm building I would like to test if I have both read and write access on the customerkey, customersecret combination I receive.
Is there a specific function which is the least disrupting for testing write access? Or is creating and removing a product the adviced way to go?
You can try to create a Tax Class with missing fields. You'll get a validation error if the consumer key has write permission, vs an authorization error if it doesn't.
{
"code": "rest_missing_callback_param",
"message": "Missing parameter(s): name",
"data": {
"status": 400,
"params": [
"name"
]
}
}
vs
{
"code": "woocommerce_rest_authentication_error",
"message": "The API key provided does not have write permissions.",
"data": {
"status": 401
}
}

Firebase REST Auth on Android returns 500

Up until last week, the only resonable path available (for a lot of reasons) to use Firebase in a Xamarin.Android app required using Firebase.Xamarin. However, this appears to have stopped working as well.
Specifically, I had been able to successfully make the following call in my Android and iOS apps and get successful responses:
var contentString = $"grant_type=refresh_token&code=string&refresh_token={auth.RefreshToken}";
var requestContent = new StringContent(contentString, Encoding.UTF8, "application/x-www-form-urlencoded");
var uri = new Uri(string.Format("https://securetoken.googleapis.com/v1/token?key={0}", this.authConfig.ApiKey));
var response = await client.PostAsync(uri, requestContent).ConfigureAwait(false);
var responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
As of yesterday, I started getting the following responseData from the above code:
iOS:
{
"error": {
"code": 403,
"message": "Requests from this ios client application \u003cempty\u003e are blocked.",
"status": "PERMISSION_DENIED",
"details": [
{
"#type": "type.googleapis.com/google.rpc.Help",
"links": [
{
"description": "Google developer console API key",
"url": "https://console.developers.google.com/project/<my_apps_project_id>/apiui/credential"
}
]
}
]
}
}
Android:
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "ipRefererBlocked",
"message": "The request did not specify any Android package name or signing-certificate fingerprint. Please ensure that the client is sending them or use the API Console to update your key restrictions.",
"extendedHelp": "https://console.developers.google.com/apis/credentials?project=<my_apps_project_id>"
}
],
"code": 403,
"message": "The request did not specify any Android package name or signing- certificate fingerprint. Please ensure that the client is sending them or use the API Console to update your key restrictions."
}
}
After some research, I found this Google Cloud Endpoints Google Groups thread that said to be sure the following are in the http request's headers:
Header x-android-package
Label servicecontrol.googleapis.com/android_cert_fingerprint
Header x-android-cert
Label servicecontrol.googleapis.com/android_package_name
Header x-ios-bundle-identifier
Label servicecontrol.googleapis.com/ios_bundle_id
I added client.DefaultRequestHeaders.Add("X-Ios-Bundle-Identifier", <my_apps_bundle_id>); to my code before the client.PostAsync and it works like a charm.
Moving on to Android, I added "x-android-cert" and x-android-package to the request headers:
client.DefaultRequestHeaders.Add("x-android-cert", <my_apps_SHA1>);
client.DefaultRequestHeaders.Add("x-android-package", <my_apps_package_id>);
prior to my client.PostAsync call. However, now I get the following responseData:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}
A moment of venting: For me, this is almost the last straw when it comes to Firebase. It has been over a month of overcoming one undocumented and half-baked API/SDK after another. It seems as if NOTHING works as advertised (including - off topic - getting Firebase working with an Angular4 project). Thank you for letting me share my frustration. Had I known how painful this was going to be, I would have setup my own MBaaS.
Before I give up on Firebase, I wanted to ask for help with this issue. Any insights and assistance would be greatly appreciated.
EDIT 1:*
I get similar results with the following changes:
var requestContent = new StringContent(postContent, Encoding.UTF8, "application/json");
var uri = new Uri(string.Format("https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key={0}", this.authConfig.ApiKey));

Resources