2016-08-11 2 views
1

Facebookの認証は素晴らしい作品が、私はグラフ要求をするために行くとき:FacebookのGraphRequestManager()は未定義ですが、動作するはずですか?

  const infoRequest = new GraphRequest(
       '/me', 
        { 
        accessToken: tokenString, 
         fields: 'email,first_name,name,last_name,picture' 
        }, 
        this._responseInfoCallback 
       ); 

     new GraphRequestManager().addRequest(infoRequest).start(); 

       } 

私が手に「TypeError例外:未定義のプロパティを読み取ることができません 『スタート』を」

をクロームデバッガを使用して、すべてのものは次のように表示されますそれは動作している必要があり、変数としてGraphRequestManagerを格納することは、私がstart()を呼び出すまで必要なものすべてを持っています。私がこのサイトで見つけたサンプルコードを使用しても、start()を呼び出すと失敗します。私は明白な何かを欠いていますか

もう少し詳しい情報があります。私はこれをインポートしています:

const FBSDK = require('react-native-fbsdk'); 
const { 
    GraphRequest, 
    GraphRequestManager 
} = FBSDK; 

私は上記FBGraphRequestとFBGraphRequestManagerを使用する代わりにした場合、私はそれらを使用する場合GraphReqest、などが機能していない旨のエラーが発生します。それ以外の場合、私のコードの残りの部分はShivamのものと非常によく似ていますが、「Undefinedのstartプロパティを '読み込めません」というメッセージが表示されるので、明らかにGraphRequestManager呼び出しが失敗しているか、定義されていません。

+0

あなたの作品は何ですか? – AlxVallejo

答えて

0

あなたはあなたの全体のコードなどを共有することができ、あなたのimport文の潜在的な問題がある可能性があります:私の経験で

const FBSDK = require('react-native-fbsdk'); 
const { 
    FBGraphRequest, 
    FBGraphRequestManager, 
} = FBSDK; 

_responseInfoCallback(error: ?Object, result: ?Object) { 
    if (error) { 
    alert('Error fetching data: ' + error.toString()); 
    } else { 
    alert('Success fetching data: ' + result.toString()); 
    } 
} 

const postRequestParams = { 
    fields: { 
     message: 'Hello World!' 
     } 
} 

const postRequestConfig = { 
    httpMethod: 'POST', 
    version: 'v2.7', 
    parameters: postRequestParams, 
    accessToken: token.toString() 
} 

const infoRequest = new GraphRequest(
    '/me/feed', 
    postRequestConfig, 
    this._responseInfoCallback, 
); 

new FBGraphRequestManager().addRequest(infoRequest).start(); 
+0

ありがとう、私は上記のもう少しの情報を追加しました。あなたと非常によく似たコードを使っても、GraphRequestManagerが定義されていないというエラーが表示されます。 FBGraphRequestManagerを使用しようとすると、関数ではないというエラーが発生します。これはわかりません。 – ewrobinson

1

を、あなたがリクエストしたいフィールドがパラメータ内に指定されています

AccessToken.getCurrentAccessToken().then(
     (data) => { 
      let accessToken = data.accessToken 
      const infoRequest = new GraphRequest(
      '/me',{ 
         accessToken: accessToken.toString(), 
         parameters: { 
          fields: { 
          string: 'email,first_name,name,last_name,picture' 
          } 
         } 
         }, 
       this._responseInfoCallback.bind(this), 
      ); 

     new GraphRequestManager().addRequest(infoRequest).start(); 
     }) 

Psどこに機能を配置しましたか?彼らはクラスの中にいますか?

関連する問題