Facebook - Veröffentlichen Sie Checkins mit PHP SDK / JavaScript SDK

Ich versuche, das Einchecken mithilfe der Facebook Graph-API zu veröffentlichen. Ich habe durchgemachtFacebook API Dokumentation (Checkins) und haben auch diepublish_checkins Genehmigung. Mein Check-in wird jedoch nicht veröffentlicht. Darf ich wissen, ob etwas nicht stimmt oder ob mir etwas fehlt? Vielen Dank für Ihre Zeit :)

fbmain.php

$user = $facebook->getUser();
$access_token = $facebook->getAccessToken();

// Session based API call
if ($user) {
    try {
            $me = $facebook->api('/me');
            if($me)
            {
                $_SESSION['fbID'] = $me['id'];
                $uid = $me['id'];
            }
        } catch (FacebookApiException $e) {
          error_log($e);   
        }
}
else {
   echo "<script type='text/javascript'>top.location.href='$loginUrl';</script>";
   exit;
}

$loginUrl = $facebook->getLoginUrl(
        array(
            'redirect_uri' => $redirect_url,
            'scope' => status_update, publish_stream, publish_checkins, 
                user_checkins, user_location, user_status'
            )
);

main.php - Mit PHP SDK (Das in diesem Beispiel verwendete falsche SDK sollte stattdessen JavaScript SDK verwenden.)

<?php
    include_once "fbmain.php";

    if (!isset($_POST['latitude']) && !isset($_POST['longitude']))
    {
?>
<html>
    <head>
        //ajax POST of latitude and longitude
    </head>

    <body>
        <input type="button" value="Check In!" onclick="checkin();"/></span>
    </body>
</html>
<?php
}
else
{
?>
<script type="text/javascript">
    function checkin()
    {
        try
        {
            $tryCatch = $facebook->api('/'.$uid.'/checkins', 'POST', array(
                'access_token' => $facebook->getAccessToken(),
                'place' => '165122993538708',
                'message' =>'MESSAGE_HERE',
                'coordinates' => json_encode(array(
                    'latitude'  => '1.3019399200902',
                    'longitude' => '103.84067653695'
                ))
            ));
        }
        catch(FacebookApiException $e)
        {
            $tryCatch=$e->getMessage();
        }
        return $tryCatch;
    }
</script>
<?php
}
?>

Frage gelöst - Dinge, die Sie beim Einchecken beachten sollten

Stelle sicherpublish_checkins Erlaubnis erteilt.Verwenden müssenjson_encode() zu codierencoordinates Parameter für PHP SDK.place undcoordinates Parameter sind obligatorisch.Eine erneute Authentifizierung ist erforderlich, wenn Sie gerade hinzugefügt habenpublish_checkins Berechtigung für Ihre vorhandene Liste der zulässigen Berechtigungen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage