2012-08-08 18 views
5

Hizmet Takvimi'nde google takviminde yeni etkinlik oluşturmak istiyorum. Doğru erişebilir ve tüm takvimlerim listesini yazdırabilirim. Ancak yeni bir etkinlik oluşturmak istediğimde yanıt 403 Yasak.Google hizmet etkinliklerinden Google etkinliklerini düzenleyin: 403

Kodum:

require_once 'src/Google_Client.php'; 
require_once 'src/contrib/Google_CalendarService.php'; 

session_start(); 

const CLIENT_ID = 'XXXXXXXXXX.apps.googleusercontent.com'; 
const SERVICE_ACCOUNT_NAME = '[email protected]'; 

const KEY_FILE = 'google_src/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-privatekey.p12'; 

$client = new Google_Client(); 
$client->setApplicationName("APP_NAME"); 

if (isset($_SESSION['token'])) { 
$client->setAccessToken($_SESSION['token']); 
} 

$key = file_get_contents(KEY_FILE); 
$client->setClientId(CLIENT_ID); 
$client->setAssertionCredentials(new Google_AssertionCredentials(
    SERVICE_ACCOUNT_NAME, 
    'https://www.google.com/calendar/feeds/MY_CALENDAR_ID/private/full/', 
    $key) 
); 

$client->setClientId(CLIENT_ID); 
$cal = new Google_CalendarService($client); 
$event = new Google_Event(); 
$event->setSummary('Bon dia pel matí!'); 
$event->setLocation('Somewhere'); 
$start = new Google_EventDateTime(); 
$start->setDateTime('2012-08-06T10:00:00.000-07:00'); 
$event->setStart($start); 
$end = new Google_EventDateTime(); 
$end->setDateTime('2012-09-06T10:25:00.000-07:00'); 
$event->setEnd($end); 

$createdEvent = $cal->events->insert(CALENDAR_NAME, $event); 

Ve sunucu yanıt:

(403) Forbidden 

Herhangi bir fikir? Belki başka bir kapsam veya düzenleme olaylarına izin ver (Bunu nerede yapılandırabileceğimi bilmiyorum ve bunu araştırdım, söz verdim)

Tabi takvimde genel bir takvim var.

Herhangi bir yardım :)

sayesinde karşılama olacak!

+0

bunun bir sebebi yasak? – Peon

+0

Heh, belki, ama olayları düzenlemeye izin verebileceğim bir yer olup olmadığını bilmiyorum. Takvim yapılandırmasında hiçbir şey görmüyorum ve takvim API'sini etkinleştiriyorum. Kataloğu ve etkinlikleri listelemede hiçbir sorunum yok. Sadece düzenle ve oluştur. Ama gerçekten, bu seçenekleri aramak için çok zaman harcıyorum ve bunu yapacak hiçbir şey yok: S Teşekkürler – eMarine

cevap

12

Çözdüm ve sorun kod değildi, iyi çalışıyor.

Sorun takvimimi paylaşıyordu. Bilmediğim bir şey.

Takvim etkinliklerinizi hizmet hesabından düzenlemeye izin vermek için, Google Api Konsolu'nda yaptığınız tüm adımlarla yeterli düzeyde olmadığından, takvim yapılandırmanızdan (Takvim yapılandırması -> Bu takvimi paylaş) izin vermeniz gerekir Google Api Konsolu'nda belirtilen hesap (e-posta adresi).

Bu bir iş hesabıysa, bu bir sorun olabilir, daha sonra hesap yöneticisine başvurmanız gerekir.

Burada gösterilen kod düzgün çalışıyor, bu yüzden umarım birilerine yardımcı olur, sadece Google Api İstemcisinin 475 sürümünü kullanmanız gerektiğini unutmayın.

Bu bağlantıyı bulabilirsiniz : http://google-api-php-client.googlecode.com/svn/trunk/src/

Belki
+0

Bu benim için çalıştı. Hesap yöneticim, takvimleri hizmet hesabımın e-posta adresiyle paylaştı. Teşekkürler! –

+0

Teşekkürler, teşekkürler, teşekkürler! Aradığım şey bu! –

+0

Saatlerce çözüm arıyordum! Cevap için teşekkürler. – stil

İlgili konular