2016-06-16 15 views
1

そうです。不明なTwitter APIの問題

「Twitter」モジュール(npmにあり、npm install twitterを使用してインストールされています)を使用して、指定されたscreen_nameから友だちのリストを取得しようとしていますが、私のプログラムは失敗し続けます。 。この時点で、それは友人JSONオブジェクトの中に含まれている友人のリストをはじくだけですが、それは何らかの理由で動作しません。

私はその理由を伝えられません。コードは以下に含まれています。質問する必要がある場合は、コメントを残してください。

function readTokenFromDisc(){ //Used to save on requests. 
    return new Promise(function(resolve, reject){ 
    fs.readFile('bearerToken.txt', 'utf8', function(error, data){ 
     resolve(data); 
    }); 
    }); 
} 

function buildClient(bToken){ 
    return new Promise(function(resolve, reject) { 
    var client = new Twitter({ 
     consumer_key: process.env.TWITTER_CONSUMER_KEY, 
     consumer_secret: process.env.TWITTER_CONSUMER_SECRET, 
     bearer_token: bToken 
    }); 
    resolve(client); 
    }); 
} 

function grabTwitterFollowers(client){ 
    return new Promise(function(resolve, reject) { 
    client.get('friends/list', {screen_name: 'POTUS'}, function (error, tweets, response){ 
     if(error){ 
     console.log(error); 
     }; 
     resolve(tweets); 
     console.log(tweets) //debug 
     console.log(response) //debug 
    }); 
    }); 
}; 

function initTwitter(){ 
    console.log('Test!') //debug, triggers 
    readTokenFromDisc().then(function(contents){ 
    console.log('Othertest!') //debug, triggers. 
    buildClient(contents); 
    }).then(function(client){ 
    grabTwitterFollowers(client); 
    }).then(function(following){ 
    console.log(following) //debug, output is 'Undefined'. 
    }); 
} 

答えて

2

あなたには返品がありません。それはチェーンの約束を返すので

grabTwitterFollowers(client);initTwitter

buildClient(contents);はおそらく

return grabTwitterFollowers(client);

return buildClient(contents);でなければなりません。そうでなければ、約束は返品のない関数の結果であるundefinedに沿って渡されます。

+0

これです。私は何とか馬鹿であることを知っていました。助けてくれてありがとう! –

+0

問題ありません。いつも私に起こる – user01

関連する問題