2016-08-02 14 views
0

FBのAPIへの投稿リクエストを2,3回作成し、うまく動作しました.POSTの1つが、実際には、別のAPIを使用して別の場所に投稿するために再利用したい場合に備えて、プロファイルに関する追加情報を入手したい場合は、fbメッセンジャーAPIへのGETリクエストが機能していない

だから、アイデアはユーザープロファイルを再利用することです。

:私のコードで行う場合は

curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=PAGE_ACCESS_TOKEN"

を:手動で行うときに私が行って、私は必要な情報を取得ので、それはすべて良いことだHERE

:ドキュメント以下

function getUserProfile (sender) { 
    request({ 
     method : "GET", 
     uri : "https://graph.facebook.com/v2.6/" + sender + "?", 
     qs  : { 
      fields:"first_name,last_name,profile_pic,locale,timezone,gender", 
      access_token : FB_PAGE_ACCESS_TOKEN 
     }, 
     json : true 
    } 
); 
} 
console.log('fb user GET Request: ', request); 

私は正しく通過していないことについての苦情を受け取り、私は何も印刷されません。 nsole:

ここでは、ログです:

> node app.js 
fb user GET Request: function request(uri, options, callback) { 
    if (typeof uri === 'undefined') { 
    throw new Error('undefined is not a valid uri or options object.') 
    } 
    var params = initParams(uri, options, callback) 
    if (params.method === 'HEAD' && paramsHaveRequestBody(params)) { 
    throw new Error('HTTP HEAD requests MUST NOT include a request body.') 
    } 
    return new request.Request(params) 
} 

私は何をしないのですか?どのポインタも素晴らしいでしょう。

編集:SO HEREを投稿して与えられた解決策を試してみましたが、ログはまだ見えない私を

発見しました。

私はherokuをサーバーとして使用していますが、ログ内のGET要求のオブジェクトは表示されません。私は、console.logによって、私が得ているものを見ることができるはずです。

これらが行わ必要がされています。あなたはリクエストオブジェクトのための彼のオプションを定義しているよう

const async  = require("async"); 
const uuid  = require("node-uuid"); 
const request = require('request'); 

const apiai = require('apiai'); 
const express = require('express'); 
const bodyParser = require('body-parser'); 
const JSONbig = require('json-bigint'); 

答えて

0

が見える、しかし、あなたがhttpリクエストを実行しているかは明らかではありません。

あなたは何かのように試すことができますか?

options = { 
     method : "GET", 
     uri : "https://graph.facebook.com/v2.6/" + sender + "?", 
     qs  : { 
      fields:"first_name,last_name,profile_pic,locale,timezone,gender", 
      access_token : FB_PAGE_ACCESS_TOKEN 
     }, 
     json : true 
    } 

次に要求

request(options, callback).end() 
+0

を実行するには、このオプションを使用しますが、要求にあることは明らかで詳しく説明してくださいできますか?ユーザー名と名字を取得して別のアプリに送信しようとしていますが、応答が利用できない場合、またはそれがログに表示されない場合は、 – Tmute

+0

私はあなたの質問から、あなたがfacebook APIへのHTTPリクエストをしようとしているときに未定義になっていることを理解しました。私はどのHTTPクライアントを使ってこれらの要求をしているのかよく分かりませんでしたか? FB sdk for node?他のhttpクライアントライブラリ。それに応じて特定のコードが変更されます。私がここで提案したのは、次のようなものを使用することでした:https://docs.nodejitsu.com/articles/HTTP/clients/how-to-create-a-HTTP-request/ –

+0

ノードからリクエストモジュールを使用しました。 @Santanuは投稿の編集を参照してください – Tmute

関連する問題