首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析:失败,错误:未调用成功/错误

分析:失败,错误:未调用成功/错误
EN

Stack Overflow用户
提问于 2014-12-09 14:43:26
回答 1查看 177关注 0票数 0

我正在尝试通过OAuth解析来验证我的社交媒体帐户,它验证得很好,但我一直收到失败并返回成功/error is not called;我的代码如下所示,有人能帮我吗?

代码语言:javascript
复制
Parse.Cloud.define("createNewNetwork", function(request, response) {
    Parse.Cloud.useMasterKey();

    //console.log(request.user.id);
    userHasRole(request.user.id, 'AllUsers').then(function(hasRole){
        if (hasRole){
            var Network = Parse.Object.extend("Network");

            var query = new Parse.Query(Network);
            query.equalTo("userId", request.params.userId);
            query.equalTo("owner", request.user);

            query.first({useMasterKey:true}).then(function(network) {
                var newNetwork;

                if (!network) {
                    newNetwork = new Network();

                    var custom_acl = new Parse.ACL();
                    custom_acl.setWriteAccess(request.user, true);
                    custom_acl.setPublicReadAccess(true);
                    newNetwork.setACL(custom_acl);

                    newNetwork.set("userId", request.params.userId);
                    newNetwork.set("followingCount", request.params.followingCount);
                    newNetwork.set("owner", request.user);
                    newNetwork.set("userData", request.params.userData);
                    newNetwork.set("networkName", request.params.networkName);
                    newNetwork.set("screenName", request.params.screenName);
                } else {
                    newNetwork = network;
                }
                    newNetwork.set("tokenExpired", false);
                //console.log(request.params.oAuthData["access_token"]);
                if (request.params.networkName == "facebook-page") {
                    Parse.Cloud.httpRequest({
                        url: 'https://graph.facebook.com/v2.1/oauth/access_token?grant_type=fb_exchange_token&client_id=**************&client_secret=***************&fb_exchange_token='+request.params.oAuthData["access_token"],
                        success: function(httpResponse2) {
                            //console.log(httpResponse2);
                            if (httpResponse2.status == 200) {
                                var data = {};
                                data["access_token"] = httpResponse2.text.substring(13);

                                newNetwork.save({oAuthData : data}, {
                                    success: function(savedNetwork) {
                                        response.success(savedNetwork);
                                    },
                                    error: function(error) {
                                        response.error(error);
                                    }
                                });
                            } else {
                                response.error("invalid token");
                            }
                        },
                        error: function(httpResponse2) {
                            console.log(httpResponse2);
                            response.error('Request failed with response code ' + httpResponse2.status);
                        }
                    });
                } else {
                    newNetwork.save({oAuthData : request.params.oAuthData}, {
                        success: function(savedNetwork) {
                            response.success(savedNetwork);
                        },
                        error: function(error) {
                            response.error(error);
                        }
                    });
                }   
            });
        } else {
            response.error("not in role");
        }
    });
});

Parse.Cloud.define("fetchNetworks", function(request, response) {

    var attributesToHide = ["oAuthData"];

    Parse.Cloud.useMasterKey();

    userHasRole(request.user.id, 'AllUsers').then(function(hasRole){
        if (hasRole){
            var Network = Parse.Object.extend("Network");
            var query = new Parse.Query(Network);
            query.descending("followingCount");
            var user = new Parse.User();
            user.id = request.params.userToFetch;

            user.fetch({}).then(function(user) {
                query.equalTo("owner", user);

                query.find().then(function(networks) {
                    networks.forEach(function(network) {
                        attributesToHide.forEach(function(attr) {
                         delete network.attributes[attr];
                        });
                     });
                    return response.success(networks);
                });
            });
        } else{
          response.success({super: false});
        }
      });
});
EN

回答 1

Stack Overflow用户

发布于 2014-12-10 02:06:53

第101行-删除return应可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27372915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档