1

我正在创建一个简单的网站,它使用 facebook javascript sdk 和 facebook API 从 facebook 页面读取消息。当消息到达 Facebook 页面时,我需要不断阅读这些消息吗?我该怎么做呢?。如果我在 while(true){ FB.api()} 这样的循环中连续运行它,网站就会挂起!我需要不断地从聊天中轮询消息,然后将其显示在网站上。这样做有什么线索吗?这就是我正在做的事情。或者我应该能够不断地轮询未读消息,然后将其显示给用户!

        FB.api(
            "/<pageId>?fields=access_token",
            function (response) {
            if (response && !response.error) {
                console.log(response);
                /* handle the result */
                document.getElementById('status').innerHTML = response.access_token;
                FB.api(
                    "/<pageid>?fields=conversations{message_count,unread_count}",
                    {access_token : response.access_token},
                    function(response2){
                        if(response2 && !response2.error){

                            var conversationId = response2.conversations.data[0].id;
                            var unreadCounter = response2.conversations.data[0].unread_count;
                            if(!unreadCounter){
                                console.log("There are no unread msgs currently":unreadCounter);    

                            }


                            //console.log(conversationId);
                            FB.api(
                             "/"+conversationId+"?fields=snippet",
                             {access_token : response.access_token},
                            function (response) {
                            if (response && !response.error) {
                            /* handle the result */
                            console.log(response);
                            }
                            else{
                                console.log(response);
                            }
                        }   
                    );


                            //handling result
                            console.log(response2);
                            document.getElementById('status').innerHTML = response2.conversations;
                        }
                        else{
                            console.log(response2);
                        }

                    }
                );
            }
            else{
                console.log(response);
            }
        },{scope:"read_page_mailboxes"});   
4

0 回答 0