2017-11-27 11 views
0

私はpluginを使用して、私のアプリケーションにリンクインサインインを統合しています。しかし、私は現在、アクセストークンを取得した後、リンク元から基本プロファイルを取得しようとするときに問題に直面しています。LinkedInで基本的なユーザープロファイルを取得しようとすると401エラーが発生する

<LinkedInModal 
          ref={ (linkedInModal) => { 
           this.linkedinButton = linkedInModal; 
          }} 
          permissions={['r_basicprofile', 'r_emailaddress', 'rw_company_admin', 'w_share']} 
          clientID="secret" 
          clientSecret="secret" 
          redirectUri="secret" 
          renderButton={this.renderLinkedInButton.bind(this)} 
          onSuccess={ 
           token => { 
            console.log(token); 
            axios 
            .get('https://api.linkedin.com/v1/people/~?format=json') 
            .then(user => console.log(user)) 
            .catch(error => console.log(error)); 
           } 
          } 
          onSignIn={user => console.log(user)} 
         /> 

トークンを正常に取得できましたが、しかしaxios.get()はエラーを返します: - Request failed with status code 401。私が間違ってやっていることについてのアイデアは?

+0

401はあなたが許可されていないことを意味します。 – Dane

答えて

1

あなたが得るトークンでAuthorizationヘッダを提供してみてください。

onSuccess = { 
    token => { 
    console.log(token); 
    let config = { 
     headers: { 
     'Authorization': `Bearer ${token}` //ES6 template string, u may also use '+' 
     } 
    }; 
    axios 
    .get('https://api.linkedin.com/v1/people/~?format=json', config) 
    .then(user => console.log(user)) 
    .catch(error => console.log(error)); 
    } 
} 

これは、それがGoogleのログインAPIのためにある方法です、それが動作するかどうかわかりません。それが私に知らせてください:)

+0

残念なことにnope –

+0

私はいくつかの調査を行いました。トークンに「Bearer」という接頭辞を付ける必要があります(https://stackoverflow.com/questions/27200634を参照してください)。/authorization-header-in-http-request-in-linkinとhttps://github.com/alexandrzavalii/Linkify/blob/master/src/api/linkedin.js)。私は私の答えを更新しました。これが機能するかどうか確認してください。もし私が与えたリンクを見ないなら、特に2番目のリンクをgithubに。 – Dane

関連する問題