parse-php-sdk 致命错误:未捕获的异常 'Parse\ParseException' 带有消息 'unauthorized'

Posted

技术标签:

【中文标题】parse-php-sdk 致命错误:未捕获的异常 \'Parse\\ParseException\' 带有消息 \'unauthorized\'【英文标题】:parse-php-sdk Fatal error: Uncaught exception 'Parse\ParseException' with message 'unauthorized'parse-php-sdk 致命错误:未捕获的异常 'Parse\ParseException' 带有消息 'unauthorized' 【发布时间】:2017-02-03 20:42:21 【问题描述】:

我对密钥进行了两次、三次检查,javascript sdk 运行良好,但是当我尝试连接 php sdk 时,出现致命错误:未捕获异常 'Parse\ParseException' 当我尝试登录用户或做任何事情

require ("parse-php-sdk-master/autoload.php");
use Parse\ParseObject;
use Parse\ParseQuery;
use Parse\ParseACL;
use Parse\ParsePush;
use Parse\ParseUser;
use Parse\ParseInstallation;
use Parse\ParseException;
use Parse\ParseAnalytics;
use Parse\ParseFile;
use Parse\ParseCloud;
use Parse\ParseClient;
ParseClient::initialize("secret","secret","secret");
ParseClient::setServerURL('https://serveraddress.herokuapp.com','parse');

我正在使用最新版本的 php-sdk,一个运行 javascvript sdk 的替代服务器,可以正常连接并运行。

【问题讨论】:

【参考方案1】:

您可能会发现键是正确的,但您没有将它传递给 parse-server 的构造函数。确保它在解析服务器配置中。

您也可以尝试在 php 客户端和解析服务器的初始化中传递您的 REST_KEY

 ParseClient::initialize('YOUR_APP_ID', 'YOUR_REST_KEY', 'YOUR_MASTER_KEY');

Heroku 更新

作为初始化的一部分,您需要将所有可选键:restAPIKeydotNetKeyclientKeyjavascriptKey 添加到 index.js。然后您必须为所有这些设置值。如果其中一个都没有设置,restAPIKey 就不会被强制执行。

var api = new ParseServer(
  databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: process.env.SERVER_URL || 'http://localhost:1337',
  javascriptKey: process.env.JAVASCRIPT_KEY || '',  //** add this line no need to set values, they will be overwritten by heroku config vars
  restAPIKey: process.env.REST_API_KEY || '', //** add this line
  dotNetKey: process.env.DOT_NET_KEY || '', //** add this line
  clientKey: process.env.CLIENT_KEY || '', //** add this line
);

【讨论】:

能否详细说明构造函数?我正在使用 herokus 解析服务器 @user3634054 在您的情况下,您可以从 Heroku 仪表板的“设置”选项卡中编辑配置变量。 在哪里设置了 appid,你需要确保在 Heroku 设置中你也有其他的键。 我已将 JAVASCRIPT_KEY 和 REST_KEY 添加到 heroku 设置中。我还将它们添加到带有服务器变量链接的索引文件中。 所以只要确保你在 index.js 文件中设置它们并在 php 客户端传递 APP、REST、MASTER。这将起作用。否则 Heroku 将失败

以上是关于parse-php-sdk 致命错误:未捕获的异常 'Parse\ParseException' 带有消息 'unauthorized'的主要内容,如果未能解决你的问题,请参考以下文章

PHP 致命错误:未捕获的异常“Symfony\Component\Yaml\Exception\ParseException”

为啥我收到致命错误:未捕获的异常 'GuzzleHttp\Exception\RequestException' 和消息 'cURL 错误 60

致命错误:未捕获的异常“Phalcon\Mvc\Model\Exception”与消息“语法错误,意外令牌>,

线程以未捕获的异常退出,AyncTask #2 致命错误

致命错误:未捕获的异常“PDOException”,带有消息“SQLSTATE [42000]:语法错误或访问冲突 PHP 和 PDO

致命错误:未捕获的异常“异常”,消息“不正确的响应 ID:(请求 ID:1)”