2016-09-19 27 views
2

我正在研究離子移動應用程序。創建Facebook的登錄按鈕(做工精細)後,我想獲得的用戶數據(公開信息和電子郵件對我的數據庫。如何獲取用戶數據(公共配置文件和電子郵件)在離子框架

我的index.html

<script src="lib/ionic/js/ionic.bundle.js"></script> 
<script src="lib/angular-sanitize/angular-sanitize.min.js"></script> 
<script src="js/ng-cordova.min.js"></script><script src="lib/ng-cordova-oauth/dist/ng-cordova-oauth.min.js"></script> 
<!-- cordova script (this will be a 404 during development) --> 
<script src="cordova.js"></script> 

<!-- your app's js --> 

<script src="js/app.js"></script> 
<script src="js/services.js"></script> 
<script src="js/controllers.js"></script> 

Controller.js

.controller('login',['$scope','myService','$location','$state','$timeout',function($scope,myService,$location,$state,$timeout) 
{ 
    $scope.fbLogin = function ($cordovaOauth,$http) { 
facebookLogin(window.cordovaOauth, window.http); 
console.log(fbLogin); 
} 
}]) 

應用.js文件

var app = angular.module('starter', ['ionic', 'starter.controllers','starter.services','ngSanitize', 'ngCordova', 'ngCordovaOauth']); 

請告訴我,我做錯了。 而Someti mes我得到$ cordovaOauth錯誤。 模塊不被注入。

回答

1
function login(){ 
facebookLogin(window.cordovaOauth, window.http); 
} 

function facebookLogin($cordovaOauth, $http) 
{ 
$cordovaOauth.facebook("1633195863589792", ["email", "public_profile"], {redirect_uri: "http://localhost/callback"}).then(function(result){ 
    displayData($http, result.access_token); 
}, function(error){ 
     alert("Error: " + error); 
}); 
} 


function displayData($http, access_token) 
{ 
$http.get("https://graph.facebook.com/v2.2/me", {params: {access_token: access_token, fields: "name,gender,location,picture", format: "json" }}).then(function(result) { 
    var name = result.data.name; 
    var gender = result.data.gender; 
    var picture = result.data.picture; 


}, function(error) { 
    alert("Error: " + error); 
}); 
} 
+0

它不工作。登錄按鈕工作正常。但數據不會來。 可能是我錯過了什麼。 我改變了我的FB API密鑰。 粘貼此代碼,因爲它在我的控制器中。 登錄按鈕仍然有效,但用戶數據未顯示。 請解釋一下這個圖的事情,它是如何工作的? –

相關問題