2012-06-16 4 views
1

Я новичок во всей системе о входе в систему с facebook. Я только что прочитал о системе OAuth2.0 на facebook, и я понял, как это работает, но я не могу понять, как заставить его работать с моим приложением и получить токен доступа, а затем получить информацию из графика api.Невозможно найти логин с facebook с помощью Oauth2.0

<a href="https://graph.facebook.com/oauth/access_token?client_id=241467205957761&redirect_uri=https://apps.facebook.com/optionsminer&client_secret=17b3847f0d32667eb75ac3270fcbdbe7">asdasda</a> 

Например, если у меня есть это, он не похоже на работу и ее давая мне JSON ошибки

 { 
     "error": { 
     "message": "Error validating client secret.", 
     "type": "OAuthException", 
     "code": 1 
     } 

Я не уверен, что с этим делать дальше. Если бы кто-нибудь из вас, ребята, мог бы немного поучить меня, это было бы здорово! Спасибо! }

+0

Вы делаете мобильное или веб-приложение? и вы аутентифицировались? – mtariq

+0

Просто пытаюсь сделать знак с функцией facebook. – Prateek

+0

Я заметил, что вы удалили свой секрет приложения из кода с помощью редактирования, пожалуйста, не то, что это все еще сохраняется, так как @CBroe предложил, чтобы вы зашли в настройки приложения и сбросили его! – Jason

ответ

2

Посмотрите на working examples from Facebook.

Если вы создаете приложение только в javascript, вы будете использовать только свой client_id. client_secret предназначен для запроса маркера с серверного кода (например, Rails или PHP-приложение).

<html> 
    <head> 
    <title>Client-side OAuth Example</title> 
    </head> 
<body> 
<script> 
    function displayUser(user) { 
    var userName = document.getElementById('userName'); 
    var greetingText = document.createTextNode('Greetings, ' + user.name + '.'); 
    userName.appendChild(greetingText); 
    } 

    var appID = YOUR_APP_ID; 
    if (window.location.hash.length == 0) { 
    var path = 'https://www.facebook.com/dialog/oauth?'; 
    var queryParams = ['client_id=' + appID, 
         'redirect_uri=' + window.location, 
         'response_type=token']; 
    var query = queryParams.join('&'); 
    var url = path + query; 
    window.open(url); 
    } else { 
    var accessToken = window.location.hash.substring(1); 
    var path = "https://graph.facebook.com/me?"; 
    var queryParams = [accessToken, 'callback=displayUser']; 
    var query = queryParams.join('&'); 
    var url = path + query; 

    // use jsonp to call the graph 
    var script = document.createElement('script'); 
    script.src = url; 
    document.body.appendChild(script);   
} 
</script> 
<p id="userName"></p> 
</body> 
</html> 
0

Не помещайте ваше приложение секрета в коде на стороне клиента - это называется секретом по причине!

(Если это ваш реальный идентификатор приложения и секрет в коде вы в курсе, вы должны получить новый секрет немедленно!)

Вы используете какой-либо из SDKs? Изучите JavaScript SDK для входа на стороне клиента или PHP SDK, если вы работаете с PHP и хотите сделать вход на серверной стороне. Эти SDK помогают вам с такими вещами, как логин OAuth, и сохраняют самые простые вещи из ваших рук, поэтому вы можете сосредоточиться на функциональности приложения ...

Смежные вопросы