2017-08-09 25 views
0

私はGitHubからトークンを生成しましたが、私はGitHub API v4を使用したいと思いますが、まず認証を受けなければなりません。 GitHub API v4認証

const networkInterface = createBatchingNetworkInterface({ 
    uri: 'https://api.github.com/graphql', 
    batchInterval: 10 
}); 

そして、私はエラー

This endpoint requires you to be authenticated. 

だから私は私のトークンでauthentificateしようとしていますが、それは動作しませんを持っている:私はこのコードを試してみました。私はそのように行うことを例にしようとした:

networkInterface.use([{ 
    applyMiddleware(req, next) { 
    if (!req.options.headers) { 
     req.options.headers = {}; // Create the header object if needed. 
    } 
    req.options.headers['Authorization'] = 'mytokenishere'; 
    next(); 
    } 
}]); 

、この場合、私は情報を受け取る:

Bad credentials 

私も他の方法でこれを実行しようとしたが、それは動作しません。

+0

あなたの 'Authorization'ヘッダーは' mytokenishere'ですか、それとも 'bearer mytokenishere'ですか? –

+0

うーん、それはmytokenishereだけです。 –

+2

あなたのトークンでトークンタイプとして 'bearer'を含むようにしてください。 GitHub v4 APIのドキュメントでは、https://developer.github.com/v4/guides/forming-calls/#communicating-with-graphqlを参照しています。「不正な資格情報」は、そうでないことを示していますあなたがトークンの種類を含んでいないので、それを正しく読んでください。 –

答えて

0

このようなトークンの種類を含める必要があります。

setNetworkInterface(): void{ 
     networkInterface.use([{ 
      applyMiddleware(req, next) { 
      if (!req.options.headers) { 
       req.options.headers = {}; 
      } 
      req.options.headers.authorization = 'Bearer XXXXXXXXXXX'; 
      req.options.headers.host = 'https://api.github.com/graphql'; 
      next(); 
      } 
     }]); 
     }