如何用PHP编写请求获取Moysklad API Token及凭证配置方法
配置Moysklad API Token请求中的登录凭证
你需要在代码的Authorization请求头里替换掉<Credentials>部分,具体操作步骤如下:
- 第一步:将你的登录名和密码用冒号拼接成字符串,格式为
登录名:密码,比如myaccount:mypassword123。 - 第二步:用PHP的
base64_encode()函数对拼接后的字符串进行符合RFC2045-MIME标准的Base64编码。 - 第三步:把编码后的结果替换掉原代码里的
<Credentials>占位符。
修改后的完整代码示例:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://online.moysklad.ru/api/remap/1.2/security/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); // 填入个人登录名和密码 $username = '你的登录名'; $password = '你的密码'; $credentials = base64_encode("$username:$password"); $headers = array(); $headers[] = "Authorization: Basic $credentials"; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); } curl_close($ch); // 可打印返回的Token内容查看结果 var_dump($result);
注意事项
- 生产环境不要直接在代码里硬编码登录名和密码,建议用环境变量或加密配置文件存储,比如用
getenv('MOYSKLAD_USER')和getenv('MOYSKLAD_PWD')获取凭证。 - 每次生成新Token时,之前的用户Token会被自动撤销,要确保应用能正确处理Token更新逻辑。
内容的提问来源于stack exchange,提问作者Сергей Гришин
相关产品推荐
相关产品推荐

