我称自己是一位经验丰富的PHP开发人员,但这让我感到疯狂.我正在尝试获取存储库的发布信息以显示更新警告,但我一直在返回403错误.为了简化它,我使用了最简单的GitHubs API:GET https://api.github.com/zen.这是一个你好世界.
这有效
curl https://api.github.com/zen在一个终端的平原这不起作用
file_get_contents()的PHP-Skript这是我的简化代码:
<?php
$content = file_get_contents("https://api.github.com/zen");
var_dump($content);
?>
Run Code Online (Sandbox Code Playgroud)
浏览器显示Warning: file_get_contents(https://api.github.com/zen): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden,变量$content是布尔值和false.
我想我错过了某种http-header-fields,但我也无法在API-Docs中找到这些信息,也无法使用我的终端 - curl调用任何特殊的头文件和作品.
标题说明了所有.当a fabric.IText是a 的一部分时fabric.Group,它不再像可编辑文本那样做出反应.
这是一个用例:http://jsfiddle.net/vAjYd/
有没有办法解决这个问题?否则我必须写上我的小组.
顺便说一句:A fabric.Group有许多优点,但是禁用事件使得无法用于UI元素(即这个用例或按钮组作为文本和组的组).
我想用SendGrid发送个性化的电子邮件.整个身体是相似的,每封邮件只有3-4个单词替换,所以我想到使用SendGrid替换
环境是CodeIgniter-Installation,使用由composer安装的PHP-Class.
有问题的函数调用是addSubstitution($ key,$ value),这会导致错误400(错误请求).在没有此调用的情况下提交请求时,一切都按预期工作(包括我的占位符当然不能替换).我收到了干净202,电子邮件到了.SendMail提供的错误文本{"errors":[{"message":"Bad Request","field":null,"help":null}]}没有多大帮助.
我想到为替换键添加一个值数组.这是从复制这个和这个代码(使用SMTP API中的第一个例子,目前还不清楚在第二),但似乎,那value的addSubstitution只能处理字符串.
要明确:我需要这个功能的通用方法.我的问题不仅涉及问候语中的收件人姓名,还有个性化的取消订阅链接等.我正在添加此提示,因为"使用Sendgrid-Marketing-API并在之前上传您的收件人"之类的答案无法满足我的需求.
我的PHP脚本(简易版):
// General
$sg = new \SendGrid('api_key');
$recipients = array(
array(
'email' => 'bob@example.com',
'name' => 'Bob'
),
array(
'email' => 'alice@example.com',
'name' => 'Alice'
)
);
$mail = new \SendGrid\Mail();
$from = new \SendGrid\Email('myname', 'myname@mycompany.com');
$mail->setFrom($from);
$mail->setSubject('New mail');
$content = new \SendGrid\Content('text/plain', 'Hi -name-, lorem ipsum');
$mail->addContent($content);
// …Run Code Online (Sandbox Code Playgroud) 根据新的文档:
在广播或发行时,只需使用或在(它们是相同的):
io.to('some room').emit('some event');
Run Code Online (Sandbox Code Playgroud)
它的工作方式与预期类似
socket.on('event', function (data) {
//do some action
socket.to('room').emit('response_event', data);
});
Run Code Online (Sandbox Code Playgroud)
但我想把"某些事件"不仅发送给会议室的其他参与者,还发送给发送者本人.
根据以前的版本,我预计会有类似的行为
io.to('some room').broadcast('some event'); //to everyone else
io.to('some room').emit('some event'); //to everyone else and sending socket
Run Code Online (Sandbox Code Playgroud)
作为一种解决方法,我首先将事件发送到发送套接字,然后广播它.但这对我来说似乎很脏
socket.on('event', function (data) {
//do some action
socket.emit('response_event', data);
socket.to('room').emit('response_event', data);
});
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗?