从PhoneGap Build中的Facebook获取信息

时间:2016-03-31 12:34:26

标签: javascript facebook cordova phonegap-plugins phonegap-build

按照JesseMonroy650的要求编辑:

之前我已经完成了几个混合应用程序,但没有商业发布。 我正在使用PhoneGap Build。位于:https://build.phonegap.com/ 我没有使用任何桌面应用程序。

原创内容:

我正试图从PhoneGap Build中的Facebook获取数据。

我有一个简单的脚本似乎应该基于API

<script>
            document.addEventListener("deviceready", onDeviceReady, false);

            function onDeviceReady() {

                var fbLoginSuccess = function(userData) {
                    alert("UserInfo: " + JSON.stringify(userData));
                    facebookConnectPlugin.getAccessToken(function(token) {
                        alert("Token: " + token);
                    }, function(err) {
                        alert("Could not get access token: " + err);
                    });
                }
                facebookConnectPlugin.login(["public_profile"],
                        fbLoginSuccess,
                        function(error) {
                            alert("" + error)
                        }
                );
            }
</script>

我相信我已经正确设置了我的config.xml:

<gap:plugin name="com.phonegap.plugins.facebookconnect" version="0.9.0">
    <param name="APP_ID" value="<ACTUAL APP ID HERE>" />
    <param name="APP_NAME" value="<ACTUAL APP NAME HERE>" />
</gap:plugin>

但是我没有得到任何关于此的警报(或控制台日志,当我尝试时)。

  1. 所以我的问题是 - 我在这里正确使用PhoneGap Build Facebook API吗?我该怎么办?

  2. 这是一个不那么重要的问题 - 如果有人可以指出如何在浏览器中使用相同的流程而无需在本地安装Cordova,那么这是一个不太重要的问题 - 如果可能的话

2 个答案:

答案 0 :(得分:2)

关于您的第一个问题:

将以下内容添加到config.xml中,并确保将config.xml放在index.html文件的根文件夹中:

<gap:plugin name="com.phonegap.plugins.facebookconnect">
    <param name="APP_ID" value="..." />
    <param name="APP_NAME" value="..." />
</gap:plugin>

将以下内容添加到index.html文件和要访问插件脚本的每个.html文件中:

<script scr="phonegap.js"></script>
<script src="cdv-plugin-fb-connect.js"></script > 
<script src="facebook-js-sdk.js"></script >

现在,请阅读并按照位于here的文档进行操作。请务必注意标题为&#34; Facebook要求和设置&#34;。

的段落

完成后,将压缩的项目上传到build.phonegap.com并等待您的项目进行编译。

第二个问题:

如果不安装Cordova,无法以任何方式在浏览器上进行测试。目前它已开箱即用&#34;

答案 1 :(得分:2)

我认为你丢失了一些分号(比如声明fbLoginSuccess变量的那个),试试看这段代码

<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {

    var fbLoginSuccess = function (userData) {
        alert("UserInfo: " + JSON.stringify(userData));
        facebookConnectPlugin.getAccessToken(function (token) {
            alert("Token: " + token);
        }, function (err) {
            alert("Could not get access token: " + err);
        });
    };
    facebookConnectPlugin.login(["public_profile"],
            fbLoginSuccess,
            function (error) {
                alert("" + error);
            }
    );
}
</script>