Bir Google Apps Marketplace uygulaması oluşturmaya başlarken bir sürü sorun yaşıyorum.
Ben google dan indirebilirsiniz php merhaba dünya örneği de dahil olmak üzere çok sayıda demolar, denedim. Her durumda, OpenID kısmı çalışıyor, ama oauth başarısız oluyor.
Ben bir oauth istek belirteci dönen değil hibrid OpenID / oauth isteği onu takip ettik. Burada googlecodesamples gelen melez standart demo benim verion görebilirsiniz http://lookmumimontheinternet.com/staging/hybrid/index.php
Sen ben yönlendirmeyi durdurma ve hata ayıklama için bir link url çıktısı olduğumu görebiliyorum. Ben de $ _REQUEST nesne geri gelen her şeyi çıktısı ediyorum.
Bu folowing bildirimi ile birlikte bir pazar yeri uygulaması kadar bağlantılıdır:
<?xml version="1.0" encoding="UTF-8" ?>
<ApplicationManifest xmlns="http://schemas.google.com/ApplicationManifest/2009">
<!-- Metadata -->
<Name>Hello World</Name>
<Description>A simple application for demonstrating the marketplace</Description>
<Support>
<Link rel="support" href="http://www.lookmumimontheinternet.com/staging/hybrid/support.php" />
</Support>
<!-- Navigation link -->
<Extension id="navlink" type="link">
<Name>Hello World</Name>
<Url>http://www.lookmumimontheinternet.com/staging/hybrid/index.php?from=google&domain=${DOMAIN_NAME}</Url>
<Scope ref="calendarFeed"/>
</Extension>
<!-- Single Sign On with OpenID -->
<Extension id="realm" type="openIdRealm">
<Url>http://lookmumimontheinternet.com/staging/hybrid</Url>
</Extension>
<!-- Authorized Data access -->
<Scope id="calendarFeed">
<Url>https://www.google.com/calendar/feeds/</Url>
<Reason>This app displays your next upcoming calendar appointment..</Reason>
</Scope>
</ApplicationManifest>
Burada demo (Ben gizli sonrası olmamalıdır biliyorum ama bu sadece bir test uygulaması var) benim kurulum php yapılandırma:
$CONSUMER_KEY = '995079586589.apps.googleusercontent.com';
$CONSUMER_SECRET = '6yTp+2Xz7nSqB4Yx6OdSds7n';
$openid_params = array(
'openid.ns' => 'http://specs.openid.net/auth/2.0',
'openid.claimed_id' => 'http://specs.openid.net/auth/2.0/identifier_select',
'openid.identity' => 'http://specs.openid.net/auth/2.0/identifier_select',
'openid.return_to' => "http://lookmumimontheinternet.com/staging/hybrid/index.php",
'openid.realm' => "http://lookmumimontheinternet.com/staging/hybrid",
'openid.mode' => @$_REQUEST['openid_mode'],
'openid.ns.ui' => 'http://specs.openid.net/extensions/ui/1.0',
'openid.ns.ext1' => 'http://openid.net/srv/ax/1.0',
'openid.ext1.mode' => 'fetch_request',
'openid.ext1.type.email' => 'http://axschema.org/contact/email',
'openid.ext1.type.first' => 'http://axschema.org/namePerson/first',
'openid.ext1.type.last' => 'http://axschema.org/namePerson/last',
'openid.ext1.type.country' => 'http://axschema.org/contact/country/home',
'openid.ext1.type.lang' => 'http://axschema.org/pref/language',
'openid.ext1.required' => 'email,first,last,country,lang',
'openid.ns.oauth' => 'http://specs.openid.net/extensions/oauth/1.0',
'openid.oauth.consumer' => $CONSUMER_KEY,
'openid.oauth.scope' => implode(' ', $scopes)
);
$openid_ext = array(
'openid.ns.ext1' => 'http://openid.net/srv/ax/1.0',
'openid.ext1.mode' => 'fetch_request',
'openid.ext1.type.email' => 'http://axschema.org/contact/email',
'openid.ext1.type.first' => 'http://axschema.org/namePerson/first',
'openid.ext1.type.last' => 'http://axschema.org/namePerson/last',
'openid.ext1.type.country' => 'http://axschema.org/contact/country/home',
'openid.ext1.type.lang' => 'http://axschema.org/pref/language',
'openid.ext1.required' => 'email,first,last,country,lang',
'openid.ns.oauth' => 'http://specs.openid.net/extensions/oauth/1.0',
'openid.oauth.consumer' => $CONSUMER_KEY,
'openid.oauth.scope' => implode(' ', $scopes),
'openid.ui.icon' => 'true'
);
Eğer (doğru kadarıyla ben gördüğünüz gibi) talep ediliyor olsa bile hiçbir oauth belirteci iade ediliyor demo çalıştırdığınızda görebilirsiniz. Herkes burada yanlış ne yapıyorum görebilir miyim?