我試圖通過使用電子郵件發送簡單的推送通知與pushbullet只是通過使用電子郵件併發送到鏈接的帳戶,以避免需要帳戶數據。 (見參考這裏:https://docs.pushbullet.com/#pushes)在PHP中發送POST請求pushbullet API 401錯誤
因此我使用PHP中的非捲曲的方法,我(不僅)在這裏找到: How do I send a POST request with PHP?
不幸的是我回來的錯誤如下:
<br />
<b>Warning</b>: file_get_contents(https://api.pushbullet.com/v2/pushes): failed to open stream: HTTP request failed! HTTP/1.0 401 Unauthorized
in <b>/path/to/function.php</b> on line <b>42</b><br />
bool(false)
將file_get_contents使用url的選項設置爲「on」。
我的代碼:
$pushdata = array(
"email" => $email,
"type" => "link",
"title" => "Demo Pushbullet Notification",
"body" => "You have new comment(s)!",
"url" => "http://demo.example.com/comments"
);
//Post without cURL
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n"."Authorization: Bearer <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>\r\n",
'method' => 'POST',
'content' => http_build_query($pushdata),
),
);
$context = stream_context_create($options);
$result = file_get_contents("https://api.pushbullet.com/v2/pushes", false, $context, -1, 40000);
var_dump($result);
編輯:代碼改爲christopherhesse的迴應,仍然無法正常工作。它也不應該要求訪問令牌,因爲我知道推送。我理解它是將通知從中性推送到鏈接的電子郵件。也許我錯了,但訪問令牌不能解決它。
編輯(解決):訪問令牌IS需要推送通知,因爲它不能用這種方法,它可以使用cURL。
這樣做,謝謝。 – Pinetrax
你非常歡迎,很高興幫助。 – nblackburn