Unknown authentication scheme on LinkedIn API

2019-06-16 15:56发布

问题:

I'm using OAuth 1.0a for LinkedIn API. Currently, I've already implemented some calls for getting the profile and connections and they all seem to work fine. But for sending a message, the oauth library throws an exception with the following:

{
  "errorCode": 0,
  "message": "Unknown authentication scheme",
  "requestId": "I2Y0MFJ8ME",
  "status": 401,
  "timestamp": 1378376573339
}

I'm using PHP PECL OAuth. I'm initializing the $oauth object like this:

$oauth = new OAuth(API_KEY, API_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_FORM);
$oauth->setToken(ACCESS_TOKEN, SECRET);

and making the rest call like this:

$url = 'https://api.linkedin.com/v1/people/~/mailbox?format=json';
$content_type = array('Content-Type' => 'application/json');
$oauth->fetch($url, $message, OAUTH_HTTP_METHOD_POST, $content_type);

and $message looks something like this:

$message = Array
(
    [recipients] => Array
        (
            [0] => z2222117O
        )

    [subject] => this is my title
    [body] => this is my body
    [format] => json
    [id] => EAS123123
)

It doesn't look like there's anything wrong with the request. I've followed the instructions from the LinkedIn messaging docs. Anyone else had the same problem? Thanks in advance.

回答1:

I have answer the question on the below link, seems the same error. Though it seems different technology, but solution would be same to send the access_token in request back to get the protected resources.

The link for your reference. Apache Oltu Linkedin Integration example



回答2:

LinkedIn requires you to either set the access token in the header or as a query param with the non-standard name of oauth2_access_token. When I sent it as a query param with the name access_token, I got the error you did.



回答3:

Some questions on the LinkedIn forums seem to indicate that the error you're getting means that you don't have a valid authentication token.

Are you sure you're sending a correct and active auth token with your message?