アクセストークンを使用して、 APIエンドポイントに投稿するhttps://api.linkedin.com/v1/people/\〜 この後、次のコンテンツを含む401を受け取ります。
Method: POST:
URL: https://api.linkedin.com/v1/people/\~
Error:
{
"errorCode": 0,
"message": "Unable to verify access token",
"requestId": "C0DUCX81SA",
"status": 401,
"timestamp": 1421946470523
}
問題の理解または解決にご協力ください。
回答 3 件
アクセストークンをどのように取得していますか? https://developer.linkedin.com/docs/oauth2で概説されている手順に従っていることを確認してください。
プロファイルAPIに対して認証済みリクエストを行う場合、
Authorization
を追加する必要があります リクエストのヘッダー。GET /v1/people/~ HTTP/1.1 Host: api.linkedin.com Connection: Keep-Alive Authorization: Bearer AQXdSP_W41_UPs5ioT_t8HESyODB4FqbkJ8LrV_5mff4gPODzOYR
XMLHttpRequestを使用して、クライアントからサーバーにアクセストークンを送信しています
let xhr = new XMLHttpRequest(); xhr.open('POST', 'http://localhost:3000/' + url); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('token', this.sessionInfo.token);
サーバー側のトークンを次のように検証します
router.route('/auth/linkedin') .post(function verifyLinkedinAccessToken(req, res, Ltoken) { var Ltoken = req.headers ['token']; // Authorization: Bearer [Ltoken]; console.log('LinkedIn token from client ==== ', Ltoken); var path = 'https://api.linkedin.com/v1/people/~?oauth2_access_token=' + Ltoken; request(path, function (error, response, body) { var data = JSON.stringify(body); console.log(data); if (!error && response && response.statusCode && response.statusCode == 200) { var user = { linkedinUserId: data.id, fullName: data.name }; var jtoken = jwt.sign({ linkedinUserId: data.id }, 'twinesoft', { expiresIn: '3h' }); res.json(jtoken); } else { console.log(data.error); } });
この後、次のコンテンツを含む401を受け取ります。
{ "errorCode": 0, "message": "Unable to verify access token", "requestId": "C0DUCX81SA", "status": 401, "timestamp": 1421946470523 }
関連記事
- linkedin api - :ベアラアクセストークンを取得する方法
- mongodbでtypeormを使用して更新トークンを取得できません
- Spring Data JPAを使用してJNDI名でWeblogicデータソースにアクセスできません
- silexルートフォルダーファイルがURLからアクセスできない
- LinuxからAccessデータベースに接続できません
- ロングアクセストークンのFacebook自動更新
- Google認証コードフロー:アクセストークンを取得すると「unauthorized_client」が返される
- Oauth:アクセストークンを取得した後の処理
- サイプレス:ウィンドウオブジェクトからアプリにアクセスできません
- SharedPreferencesにアクセストークンを格納するとnullオブジェクト参照エラーが返される
関連した質問
- プログラム 'tsc'の実行に失敗しました:この操作で指定されたファイルにアプリケーションが関連付けられていません
- 空のAngularアプリをインスタンス化できないのはなぜですか?
- NodejsをTomcatにデプロイします
- Expressjs:TypeError:ressendFileにはパス引数が必要です
- multer(NodeJS)+同じPOSTリクエストの他のフォームデータを含むファイルのアップロード(Angular)
- Nodejs/Expressjs:TypeError:ressendFileにはパス引数が必要です
- AWSコードパイプラインエラー致命的なエラー:無効なマーク-ヒープ制限に近いコンパクト割り当てに失敗しました:JavaScriptヒープのメモリ不足
- 同じコードが2台の同じコンピューターで機能しないのはどうしてですか?
- ExcelJSを使用してExcelファイルをダウンロードし、ノードjsがどのブラウザにもダウンロードされていない
- APIのルートにいくつかのjsonデータを投稿する方法
401は不正なリクエストを意味します。
エラーごとに、アクセストークンを送信していないと思います。 コードを追加して、理解を深めてください。
更新しました:
クエリでトークンを送信しており、それが問題の原因です。
LinkedInは認証ヘッダーを受け入れず、要求パラメーターを予期します。oauth2_access_token。
ヘッダーは次のようになります。
これがお役に立てば幸いです。