2017-10-03 1 views
0

私はFacebookのチャットボットにユーザーを接続するためにFacebook Checkbox Pluginを使用すると問題が発生します。それらがクリックされ、チェックボックスがチェックされると、私はそのユーザ参照を取得し、彼/彼女にメッセージを送ると、私はユーザのページスコープのIDを取得します。FacebookのマッチングAPI - 他のユーザーの空のデータを返します

このユーザーのページスコープのIDを使用すると、ユーザーの詳細を取得する必要があるユーザーのアプリスコープのIDを取得できるはずです。

私はfacebook Matching APIを使用しています。これは管理者ユーザーにとっては効果的ですが、他のユーザーを使ってログインするとすぐに、開発者として登録されていても、一致するAPIから取得するのは空です。

[https://developers.facebook.com/docs/messenger-platform/identity/id-matching]

誰もがここで起こって何ができるかについての考えを持っていますか?私のアプリはライブ(承認されていない)です。私はパーミッションとトークンが正しいと信じています...問題がある場合、それはトークンに関するはずですが、これについてはわかりません。

ここで、私のコードの一部:私は、管理者以外のユーザーでログインしたときに

const accessToken = config.facebook.unlimitedPageAccessToken; 
    const clientSecret = config.facebook.clientSecret; 
    const appsecretProof = CryptoJS.HmacSHA256(accessToken, clientSecret).toString(CryptoJS.enc.Hex); 

request({ 
     url: 'https://graph.facebook.com/v2.10/'+ recipientId +'/ids_for_apps', 
     qs: { access_token: accessToken, appsecret_proof: appsecretProof } 

    }, function (error, response, body) { 
     if (!error && response.statusCode == 200) { 

     body = JSON.parse(body); 
     console.log("data --> " + JSON.stringify(body, null, 4)); 
     const userAppId = body.data[0].id; 
     return userAppId; 
     } else { 
     console.error("Error trying to translate ID's."); 
     } 
    }); 

は、私は、言ったように、私はこの取得:すべてのFacebookページについて

{ 
    "data": [] 
} 
+0

こんにちは、私は同じ問題を抱えていますが、他の方法ではあります。私は 'appスコープ付きID'を持っており、' scoped id'を取得する必要があります。それは私のために働いていますが、他のユーザーのためではありません –

+0

こんにちは。あなたは、あなたのページとのチャットで「開始」ボタンをクリックするか、このチャットでページにメッセージを書き込む必要があります。そうしないと、存在しないため、ユーザーページスコープIDを取得できなくなります。 – rmartrenado

+0

ああ! FacebookマッチングIDの目的ではありませんか? FacebookログインのおかげでアプリケーションにログインするユーザーのPSIDを見つけるには? –

答えて

0

を、ユーザーは異なるpsidを持ちます。したがって、そのページスコープのIDを取得するまで、それらのメッセージを送信することはできません。あなたができることは、最初に会話を初期化するためにページにユーザーをリンクさせることです。

関連する問題