C2DM Server with PHP 401 Error

by nino » Sat, 12 Feb 2011 06:03:25 GMT

Sponsored Links
 I'm building my own C2DM application right now. I first started with a
small Android application to test the push feature. And it works if I
just call the curl command with the correct settings in my shell.

Now for the server part I wanted to use PHP but as it seems I'm doing
something wrong as I always get a 401 error message when I try to send
a message to the client. First of all the code consists of two parts.
The first curl request asks for the server token. This works I get a
real response from google with a working token!

The second curl request ends up with a 401 error message. Any ideas
what I'm doing wrong?

  $post_params = array ( "Email" => $MY_GOOGLE_ACC, "Passwd" =>
$MY_GOOGLE_PWD, "accountType"=>"GOOGLE", "source=" . $MY_GOOGLE_SRC,
"service=ac2dm" );

  $first = true;
  $data_msg = "";

  foreach ($post_params as $key => $value) {
    if ($first)
      $first = false;
      $data_msg .= "&";

    $data_msg .= urlencode($key) ."=". urlencode($value);

  $x = curl_init("https://www.google.com/accounts/ClientLogin");

  curl_setopt($x, CURLOPT_HEADER, 1);
  curl_setopt($x, CURLOPT_POST, 1);
  curl_setopt($x, CURLOPT_POSTFIELDS, $data_msg);
  curl_setopt($x, CURLOPT_RETURNTRANSFER, 1);
  $data = curl_exec($x);
  $response = $data;

  $authKey = trim(substr($response, 4+strpos($response, "SID=")));

  echo $authKey;
  $collapse_key = 'something';

  $post_params = array ( "registration_id" => $DEVICE_TOKEN,
"collapse_key" =>     $collapse_key, "data.payload"=>"cakephp" );

  $first = true;
  $data_msg = "";


Other Threads

1. Paid Apps in Canada

I have upgraded by ADP1 to 1.1 but I cannot see any paid apps??

Is it because I am not using t mobile?


2. Real cost of Android Market: a case for third party

Google claimed that all they take from developers is 30% for carriers,
however real developer's cut is much less, depending on price. As of
today with new Google Checkout tariffs (http://checkout.google.com/
seller/fees.html), here is the gross transaction cost

For 0.99 app

0.99 paid by customers
0.30 to carrier
0.29 flat Checkout transaction fee
0.02 variable Checkout fee

0.38 to developer (39%)

For 1.99 app

1.99 paid by customers
0.60 to carrier
0.29 flat Checkout transaction fee

0.04 variable Checkout fee

1.06 to developer (53%)

Howe does this compare to Apple appStore and third party Android and
non Android stores?

PS. Third party distributors that are interested in promo placements
are welcome to contact me directly too.


3. Can Android interface with USB devices?

4. ImageView.SetImageUri

5. Tabs by Intent

6. KSoap2 SSL Https Webservice

7. TableLayout borders