[英]Google Cloud Messaging for Chrome Error 500
所以我試圖通過GCM使用php向chrome擴展發送消息。
$data = json_encode(array(
'channelId' => 'channel id here',
'subchannelId' => '0',
'payload'=>'test'
));
$ch = curl_init();
$curlConfig = array(
CURLOPT_URL => "https://www.googleapis.com/gcm_for_chrome/v1/messages",
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => $data,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . $access_token,
'Content-Type: application/json'
)
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
每個請求都返回{“error”:{“code”:500,“message”:null}}。 謝謝。
500是內部錯誤的HTTP錯誤代碼。
從Google oauthplayground網站發送適用於Chrome的Google Cloud Message會為我返回:
HTTP / 1.1 500內部服務器錯誤內容長度:52 X-xss-protection:1; mode = block X-content-type-options:nosniff X-google-cache-control:remote-fetch -content-encoding:gzip服務器:GSE原因:內部服務器錯誤通過:HTTP / 1.1 GWA緩存控制:私有,最大-age = 0日期:2013年5月15日星期三07:01:40 GMT X-frame-options:SAMEORIGIN內容類型:application / json; charset = UTF-8到期日:2013年5月15日星期三07:01:40 GMT {“error”:{“code”:500,“message”:null}}
根據谷歌的Cloud Message for Chrome文檔 :
發生內部錯誤。 這表明Google服務器端出現了問題(例如,某些后端無法正常工作或HTTP帖子中的錯誤,例如缺少訪問令牌)。
從本質上講,谷歌方面存在一些問題。 考慮到Google I / O將在幾個小時內啟動,我認為他們目前正在進行一些更改。
幾個小時后再試一次。
我今天遇到了同樣的問題。
我在Chromium Apps小組上找到了一個問題跟蹤器
https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-apps/UXE_ASCN0gc
其中一個可能的原因是,您用於測試的應用程序從未在Chrome網上應用店中發布。 因此,如果您在本地創建了一個應用程序並將其加載到Chrome解壓縮以進行測試 - 例如,它總是會失敗,因為GCM不知道誰擁有該應用程序。 將應用程序發布到商店時,請使用Api控制台中使用的相同Google帳戶創建項目和Oauth clientId / client secret等。只有當這些Google帳戶匹配時,才能使用GCM for Chrome。
GCM驗證應用程序的所有者是否與訪問令牌的所有者匹配,以確保除應用程序所有者之外的任何人都可以為其發布消息。 在網上應用店中發布應用會在Google帳戶和appID之間創建一個鏈接,以便進行驗證。
現在,一旦您發布了某個版本的應用程序,就可以將Web Store生成的魔術令牌添加到本地應用程序的清單中,並繼續在本地修改/重新加載/調試,現在讓您的應用程序正確注冊GCM。 有關詳細信息,請參閱chromium-apps組中的答案。
我也得到了同樣的錯誤。 我通過打包我的應用並上傳到chrome webstore解決了這個問題。 然后我使用新的頻道ID,它現在有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.