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

时间:2014-12-24 17:19:22

标签: php html snapchat

我正在尝试使用this存储库中的第三方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语句。我不确定为什么会发生这种情况,当我添加一个始终真实的登录检查(例如if(TRUE == TRUE)),然后它完全正常。

任何人都可以向我解释我做错了吗?

1 个答案:

答案 0 :(得分:2)

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'),
);