1

Facebookでのログインについて、システム全体に不慣れです。FacebookのOAuth2.0システムについて読んだところ、その仕組みは理解できましたが、アプリで動作させてアクセストークンを取得し、グラフAPIから情報を取得する方法を理解できません。

    <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
        }

これをさらにどうするかわかりません。皆さんの誰かが私を少し案内してくれたら、それは素晴らしいことです! ありがとう!}

4

2 に答える 2

2

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>
于 2012-06-16T22:00:54.773 に答える
0

アプリのシークレットをクライアント側のコードに入れないでください。シークレットと呼ばれるのは理由があります。

(投稿したコードの実際のアプリ ID とシークレットである場合は、すぐに新しいシークレットを取得する必要があります!)

SDK を使用していますか? クライアント側のログイン用の JavaScript SDK を調べるか、PHP を使用していてサーバー側のログインを行いたい場合は PHP SDK を調べてください。これらの SDK は、OAuth ログインなどの作業を支援し、非常に基本的なことを手の届かないところに置いておくため、アプリの機能に集中できます…</p>

于 2012-06-16T13:47:06.933 に答える