title: Facebook Graph API not returning email
body: <p>I have the following code:</p>
  
  <pre><code>$fb = new Facebook([
      'app_id' =&gt; $appId,
      'app_secret' =&gt; $appSecret,
      'default_graph_version' =&gt; 'v2.9',
  ]);
  
  $oAuth2Client = $fb-&gt;getOAuth2Client();
  $tokenMetaData = $oAuth2Client-&gt;debugToken($accessToken);
  dump($tokenMetaData);
  
  $graphUser = $fb-&gt;get('/me?fields=first_name,last_name,email', $accessToken)-&gt;getGraphUser()-&gt;asArray();
  dump($graphUser);
  </code></pre>
  
  <p>The output for the above is the following:</p>
  
  <p><strong>$metaData</strong>:</p>
  
  <pre><code> [
     "app_id" =&gt; "..."
     "application" =&gt; "My App Name"
     "expires_at" =&gt; "2017-07-01 11:40:09.000000"
     "is_valid" =&gt; true
     "issued_at" =&gt; "2017-05-02 11:40:09.000000"
     "metadata" =&gt; array:2 [
       "auth_type" =&gt; "rerequest"
       "sso" =&gt; "ios"
      ]
      "scopes" =&gt; array:2 [
        0 =&gt; "email"
        1 =&gt; "public_profile"
      ]
      "user_id" =&gt; "102..."
    ]
  }
  </code></pre>
  
  <p><strong>$graphUser</strong>:</p>
  
  <pre><code>array:3 [
    "first_name" =&gt; "John"
    "last_name" =&gt; "Smith"
    "id" =&gt; "102...",
  ]
  </code></pre>
  
  <p>As you can see, the <code>scopes</code> in <code>$metaData</code> clearly has <code>email</code> so it isn't a permission issue. Despite this, the graph user <em>sometimes</em> does not have the email (although in some cases it does). </p>
  
  <p>Why is this and how can I solve this issue?</p>