PHP SnapChat Master - 正确的登录凭据返回无效的登录


PHP SnapChat Master - Correct log in credentials returning invalid log in

我正在尝试使用此存储库中的第三方SnapChat API。

这是我正在运行的PHP代码。

<?php
/* TODO - Debug show errors */
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Start or continue the session
session_start();
// Require the php-snapchat-master api
require_once("../api/snapchat.php");
// If the user is logged in
if (isset($_SESSION["username"]) && isset($_SESSION["password"])) {
  // Redirect to the home page
  header("Location: ../home/");
}
// If the username and password are not set
else {
  // Break PHP to show HTML
  ?>
  <form method="POST">
    <input type="username" name="username" placeholder="Username" />
    <input type="password" name="password" placeholder="Password" />
    <input type="submit" value="Log In" />
  </form>
  <?php // End PHP break
  // If the log in form was submitted
  if (isset($_POST["username"]) && isset($_POST["password"])) {
    // Initialize the prospective user
    $snapchat = new Snapchat();
    // If the username and password are not valid
    if ($snapchat->login($_POST["username"], $_POST["password"]) == FALSE) {
      // ECHO INVALID
      echo "INVALID";
    }
    // If the username and password are valid
    else {
      // ECHO VALID
      echo "VALID";
      // Set the username session variable
      $_SESSION["username"] = $_POST["username"];
      // Set the password session variable
      $_SESSION["password"] = $_POST["password"];
      // Redirect to the home page
      header("Location: ../home/");
    }
  }
}
?>

不幸的是,每次我输入正确的 SnapChat 用户名和密码时,页面都会显示我的调试INVALID语句。我不确定为什么会发生这种情况,当我为登录添加始终为真的检查时(例如如果(TRUE == TRUE)),那么它工作得很好。

谁能向我解释我做错了什么?

Snapchat 的登录方式已更改 :/所以这个 API 需要更新。不用担心你的代码,没关系;)

编辑 : 找到 !

您必须修改此"API"使用的用户代理:转到snapchat_agent.php并修改 $CURL_OPTIONS,如下所示:

public static $CURL_OPTIONS = array(
    CURLOPT_CONNECTTIMEOUT => 5,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_USERAGENT => 'Snapchat/8.1.1 (Nexus 5; Android 21; gzip)',
    CURLOPT_HTTPHEADER => array('Accept-Language: en'),
);