我正在尝试使用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)),然后它完全正常。
任何人都可以向我解释我做错了吗?
答案 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'),
);