小编Col*_*Muc的帖子

file_get_contents()每次都从api.github.com获得403

我称自己是一位经验丰富的PHP开发人员,但这让我感到疯狂.我正在尝试获取存储库的发布信息以显示更新警告,但我一直在返回403错误.为了简化它,我使用了最简单的GitHubs API:GET https://api.github.com/zen.这是一个你好世界.

这有效

  • 直接在浏览器中
  • curl https://api.github.com/zen在一个终端的平原
  • 使用PHP-Github-API-class,如php-github-api

这不起作用

  • 用一个简单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调用任何特殊的头文件和作品.

php github-api

10
推荐指数
1
解决办法
1843
查看次数

Fabric.js - 分组的iText不可编辑

标题说明了所有.当a fabric.IText是a 的一部分时fabric.Group,它不再像可编辑文本那样做出反应.

这是一个用例:http://jsfiddle.net/vAjYd/

有没有办法解决这个问题?否则我必须写上我的小组.

顺便说一句:A fabric.Group有许多优点,但是禁用事件使得无法用于UI元素(即这个用例或按钮组作为文本和组的组).

fabricjs

9
推荐指数
2
解决办法
4685
查看次数

Sendgrid Web API v3为每个收件人提供不同的替换值

我想用SendGrid发送个性化的电子邮件.整个身体是相似的,每封邮件只有3-4个单词替换,所以我想到使用SendGrid替换

  • 鲍勃(bob@example.com)应该收到一封电子邮件,上面写着"Hi Bob,lorem ipsum"
  • Alice(alice@example.com)应该收到一封电子邮件,上面写着"Hi Alice,lorem ipsum"

环境是CodeIgniter-Installation,使用由composer安装的PHP-Class.

有问题的函数调用是addSubstitution($ key,$ value),这会导致错误400(错误请求).在没有此调用的情况下提交请求时,一切都按预期工作(包括我的占位符当然不能替换).我收到了干净202,电子邮件到了.SendMail提供的错误文本{"errors":[{"message":"Bad Request","field":null,"help":null}]}没有多大帮助.

我想到为替换键添加一个值数组.这是从复制这个这个代码(使用SMTP API中的第一个例子,目前还不清楚在第二),但似乎,那valueaddSubstitution只能处理字符串.

要明确:我需要这个功能的通用方法.我的问题不仅涉及问候语中的收件人姓名,还有个性化的取消订阅链接等.我正在添加此提示,因为"使用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)

php email sendgrid

4
推荐指数
1
解决办法
1776
查看次数

Socket.io 1.0 - 事件到房间只有broadcastet,我想发给每个人(包括发件人)

根据新的文档:

在广播或发行时,只需使用或在(它们是相同的):

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)

你有什么建议吗?

node.js socket.io

2
推荐指数
1
解决办法
823
查看次数

标签 统计

php ×2

email ×1

fabricjs ×1

github-api ×1

node.js ×1

sendgrid ×1

socket.io ×1