1

Androidスマートフォンにメッセージを送信しようとしていますが、応答コード401とテキストが表示され続けます:Unauthorized。また、使用するキーについてさまざまなストーリーを読み続けています。プロジェクトID(番号)、サーバーアプリのキー、ブラウザーアプリのキーの3つのキーを知っています。だから私はそれらすべてを3つ試しましたが、すべて同じ結果になりました。

私のコード:

$headers = array("Content-Type" => "application/json", "Authorization" => "key=" . "mykey");
    $data = array(
        'data' => $messageText,
        'registration_ids' => array($deviceRegistrationId)
    );

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_URL, "https://android.googleapis.com/gcm/send");
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    error_log(json_encode($data));
    $response = curl_exec($ch);
    curl_close($ch);
    error_log($response);
4

2 に答える 2

4

ヘッダーを次のように変更しました。

$headers = array("Content-Type:" . "application/json", "Authorization:" . "key=" . "mykey");

そしてそれは動作します。mykeyはブラウザアプリのキーです。

于 2012-07-09T14:10:23.127 に答える
0

このようなヘッダーを作成して、連結を少し読みやすくし、削除することができます。

$headers = array(
    "Authorization:key=mykey",
    "Content-Type:application/json",
);
于 2012-07-18T17:39:37.617 に答える