LinkedIn API - 409 Conflict response from POST /ugcPosts - linkedin

Preface: I submitted a support ticket to LinkedIn about this but they redirected me here with the response:
I am sorry for the inconvenience this has caused to you. I request you to kindly use the below link to contact Stack overflow for your API related query: https://www.linkedin.com/help/linkedin/answer/53170?hcppcid=homepage
What I sent in my ticket:
Starting over the weekend (8/1), we began seeing an increase in 409 Conflict responses. According to LinkedIn's documentation this indicates that the post is a duplicate of another post created in the last 10 minutes, however looking into this ourselves we've verified that this is not the case. We've made no changes to our integration, so we know this is nothing on our end either.
Here's an example response:
{"message":"com.linkedin.content.common.ResponseException: RestliServiceException thrown in chimera; Write conflict when trying to update UGC: urn:li:share:[redacted]","status":409}
A similar issue posted on StackOverflow at the time of writing this: https://stackoverflow.com/questions/63232641/com-linkedin-restli-client-restliresponseexception-errors-since-august-01st-with
^ This has since been removed for being a tech support question, which I agree with, but LinkedIn's not giving us any other options here.
I'm not sure why they redirected me to Stack Overflow or how they expect Stack Overflow to help here, so I've replied to their ticket but made this post in the meantime just in case.
Any ideas for what might be wrong on our end would be appreciated!

Related

Here API: Matrix Routing API V8 - Asynchronus request - Receiving error when retrieving calculation status

I'm currently developing a little algorithm to solve the VRP. I herefore use the HERE Matrix Routing API to identify the actual travel times. I just came across the issue, that the retrieved status url after submitting the matrix seems to not accept the API key authorization. Here a little exapmle:
After submitting my matrix, I try to access the status of my calculation via the status url as described in the documentation:
https://matrix.router.hereapi.com/v8/matrix/{matrixId}/status?apiKey={apiKey}
as well as with the returned status url after submitting the request (which is basically the above URL prefilled and with resolved forwarding):
https://aws-eu-west-1.matrix.router.hereapi.com/v8/matrix/{matrixId}/status?apiKey={apiKey}
From my understanding and the way how it's documented, I expect this to be working. Instead, I'm receiving an error code 401, Unauthorized: No credentials found
My request succeeds, when I'm deleting the /status after the matrixId. Is this the expected behaviour or did I reveal a little bug?
Thanks for your help!
BR, Difreg
This is unfortunately due to a combination of how the service operates, and how some client libraries are configured to automatically follow HTTP redirects, like Python requests.
I answered a similar question a few days ago, and you can see the answer here.
Hopefully that helps you figure it out, but if it doesn't, feel free to ask again here.

404 error on my homepage although I can see my site

I am at my wits end with the following problem:
My site www.sebastianthalhammer.com is available under that URL without any problems.
However Google Search Console as well as other external third party test tools return a 404 error.
Status report from Uptrends
It is just the main page that's affected. All the other subpages and blog content isn't affected.
I have been in contact with the server stuff but it seems alright to them. As mentioned. The site can be reached. The site runs on wordpress - latest version.
I have no real clue where to start as this error seems to be quite a tricky one. Does anyone here might have an idea what's going on?
Sebastian
The 4xx class of status code is intended for cases in which the
client seems to have erred. Except when responding to a HEAD
request, the server SHOULD include a representation containing an
explanation of the error situation, and whether it is a temporary or
permanent condition. These status codes are applicable to any
request method. User agents SHOULD display any included
representation to the user.
This leaves me with two possible explanations:
Explanation 1: it's a server error.
the server wrongly returns a 404 status code
the browser thinks the response body contains details about the error and displays it - for the end user this is the actual page
Explanation 2: it's done on purpose to defeat crawlers and page watchers.
the server returns 404 on purpose - non-browser user agents won't process the result as they interpret it as error
browsers are unaffected, the end user doesn't care as long as the page is being displayed
The second one would indeed be kind of clever if you don't want your page to be indexed.
Thanks to your feedback I could think about the problem in a different way.
Ultimately at the unholy depths of a certain plugin I could dig out a setting that caused the error.
It was a redirection plugin that (for whatever reason) sent out a 404 signal when the URL was requested.
I don't know what the purpose would be for something. All I know is that the setting was on default for quite a while now and that caused the weird situation.
thanks guys for getting me on the right track.
Sebastian

Public LinkedIn profile url returns server Status code 999

LinkedIn Consumer Support asked me to add this question here for #LinkedIn developpers to answer this.
I have seen there are multiple questions about this 999 status code, but they are all API related. My question is not API related.
Here it is. On my website I have a link to my public LinkedIn profile: https://nl.linkedin.com/in/jpcornelissen/nl
The broken link checker plugin on my website tells me that this link is broken with the error: SERVER RESPONSE: HTTP/1.1 999 Request denied
Why is that? The page is accessible so it should return status code 200 not 999. Status 999 is not even an existing http status code.
The issue is not plugin related. You also get the 999 status code if you check with http://tools.seobook.com/server-header-checker/
Regards
Maybe you can find the answer here : 999 Error Code on HEAD request to LinkedIn or here : https://social.msdn.microsoft.com/Forums/vstudio/en-US/5a4f8eb5-bf1b-4776-b4bb-4baef621838f/999-non-standard-linked-in-error?forum=csharpgeneral
It seems that LinkedIn blocks "bad" request with this 999 non-standard Status Code (they should better respond with 400 Bad Request and an explanation). Some reports that it comes from the HEAD method (which is similar to GET but does not request the body), or a missing header( Accept-Encoding), or the User-Agent header, or the source IP (from Heroku).
Only LinkedIn can explain why. Chances are they will not explain why because of Security through obscurity.
Update,
It looks like this is a common occurrence and my investigation concluded when I realized the resource wasn't available for the main LinkedIn servers. Thus, when inspecting the profile badges page the script we need also has a status code of 999. I've opened a ticket, hopefully in the future they will provide a more stable means with full html+css options :)

Linkedin connections API 'public-profile-url' throwing 500 error

The same thing seems to have happened two years ago public-profile-url causing error, but the approved solution on that question is not solving this problem.
Any connections requests requesting the field 'public-profile-url' throws the following error:
https://api.linkedin.com/v1/people/~/connections:(public-profile-url)?start=0&oauth2_access_token=<token>
<error>
<status>500</status>
<timestamp>1491329264595</timestamp>
<request-id>8IJSBKJHQR</request-id>
<error-code>0</error-code>
<message>Internal API server error</message>
</error>
If this is just an issue with their API, I'd love to get LinkedIn's attention on the matter.
Edit: Interestingly, I found a specific Linkedin connection that is causing the failure (by adjusting the 'start' and 'count' args). It's probably not wise to post that here, but I can provide that information to LinkedIn staff, if need be.
Edit 2: I found replacing 'public-profile' with 'site-standard-profile-request' does function as a workaround. It's not exactly the same thing, but close enough if your user is already using oauth
Same problem, in my case solved removing the "site-standard-profile-request" and the "current-share" attributes from the linkedin v1 people request.
Here is the working api url:
https://api.linkedin.com/v1/people/~:(id,first-name,last-name,maiden-name,formatted-name,phonetic-first-name,phonetic-last-name,formatted-phonetic-name,headline,location,industry,num-connections,num-connections-capped,summary,specialties,positions,picture-url,picture-urls::(original),site-standard-profile-request,api-standard-profile-request)

How to make spray-can client follow redirects

When requesting some pages with the following code:
HttpDialog(httpClient, IDN.toASCII(domain)).send(HttpRequest(uri = "/")).end
spray-can client returns responses with redirects to another URLs (e.g. 302 Found). Is there a standard way of telling spray to automatically follow redirects? And if not, what is the best way to implement this behavior myself with akka futures?
Update 2: The PR was merged and documentation for redirection following is spray-can can now be found here
Update: I decided to have a crack at implementing this and have sent a PR. Hopefully it will get merged.
There is no way to currently tell spray-can client to follow 3xx redirects. See this thread for more details.
There is an open ticket, so hopefully this will happen in the future. I'm sure a contribution would be welcomed.

Resources