gebruik google api

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gert-willem Sanders

gert-willem Sanders

22/08/2012 20:47:19
Quote Anchor link
Onderstaand had ik in de koffiehoek geplaatst maar ik denk dat t meer hier hoort.

ik ben aan het stoeien met de google agenda.
ik wil afspraken uit mijn agenda in die van google zetten, basis is gelukt.
met de api van google apiCalendarService.php
dit lukt deels.
ik kan een afspraak er in zetten maar krijg het id niet terug met getid()

$createdEvent = $events->insert('mijnagenda.calendar.google.com', $event);
echo $createdEvent->getId();

ik kan ook een afspraak opvragen voor een update maar de update lukt ook niet.
voor beide geld dat de opdracht het script stopt(d4 wordt niet geëchood).

$event = $cal->events->get('[email protected]', 'id event');
print_r($event);
echo 'd2 ';
$updatedEvent = $cal->events->update('[email protected]','id event', $event);
echo 'd4 ';

waar moet ik t zoeken :)

het teken -> heb ik blind overgenomen(zoals alles) maar ik zou hier graag iets over lezen(nederlands), kan alleen niets vinden

Gert-Willem
 
PHP hulp

PHP hulp

19/04/2024 19:58:45
 
Albert de Wit

Albert de Wit

22/08/2012 20:49:25
Quote Anchor link
hoe bedoel je

Quote:
overgenomen(zoals alles)
 
Gert-willem Sanders

gert-willem Sanders

22/08/2012 20:51:00
Quote Anchor link
dat ik een copie paste programmeur ben
 
Albert de Wit

Albert de Wit

22/08/2012 20:59:00
Quote Anchor link
Nou oke, hier komt een kleine verassing.
Als programmeur is engels een pré omdat de meeste tutorials engels zijn. Er zijn erg weinig nederlandse (video) tutorials.

Ten tweede, wat is je vraag nu? Of ik jou een link moet geven waar je hier over het een en ander kan leren of om voor jou een kant en klaar scriptje te maken?
 
Gert-willem Sanders

gert-willem Sanders

22/08/2012 21:12:08
Quote Anchor link
ik programmeer al 20 jaar in pascal en ken daar de basis een beetje. ik gebruik zelden 3th party libraries omdat ik dat te ingewikkeld vind.
nu met php moet ik van de google api gebruik maken. ik vind lezen moeilijk en engels lezen helemaal, meestal omdat de info die ik nodig heb niet te vinden is. daarnaast is zoeken op -> onmogelijk.

wat ik wil is zeker geen script, dan weet ik nog niet hoe t werkt maar als je de code die ik hierboven laat zien herkent, dan weet je ws ook wat de reden zou kunnen zijn waarom $createdEvent->getId() de handel stil legt.

ps en video heb ik geen geduld voor.:)

Toevoeging op 22/08/2012 21:33:44:

aanvulling

//$event_id = $createdEvent->getId();
echo 'event id = '.$createdEvent['id'];
dit werkt wel
Gewijzigd op 22/08/2012 21:12:57 door gert-willem Sanders
 
Reshad F

Reshad F

22/08/2012 22:53:50
Quote Anchor link
sorry maar als je al 20 jaar in pascal programmeert en daar een beetje van kent vind ik maar vreemd... maar goed..

waar komen d2 en d4 vandaan? geef is wat meer relevante code..
zet dit tussen <?php ?> php tags dat is makkelijker lezen voor de leden waardoor je sneller geholpen kan worden.
 
Gert-willem Sanders

gert-willem Sanders

22/08/2012 23:06:35
Quote Anchor link
ok hieronder het totale script
1 ik ben hobbyist en heb alleen simpele dingen nodig gehad maar heb een leuk agenda systeem met registratie via mysql database mailing bij afspraken die gemaakt zijn en een registratie van betalingen.
2 d2 en d4 zijn twee echo's om te weten wat er gewerkt heeft en wat niet, zeer simpele foutopsporing dus.
3 hierbij het script gebruik makend van de v3 google api

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php

require_once '../src/apiClient.php';
require_once '../src/contrib/apiCalendarService.php';
print_r($_SESSION);
print_r($_createdEvent);
session_start();

$client = new apiClient();
$client->setApplicationName("test");
// Visit https://code.google.com/apis/console?api=calendar to generate your
// client id, client secret, and to register your redirect uri.

 $client->setClientId('xxxxxxxxxxxxxxx.apps.googleusercontent.com');
 $client->setClientSecret('xxxxxxxxxxxxxxxx ');
 $client->setRedirectUri('https://www.xxxxx.nl/xxx/test.php');
 $client->setDeveloperKey('test');
 $cal = new apiCalendarService($client);
if (isset($_GET['logout'])) {
  unset($_SESSION['token']);
}

if (isset($_GET['code'])) {
  $client->authenticate($_GET['code']);
  $_SESSION['token'] = $client->getAccessToken();
  header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}


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


if ($client->getAccessToken()) {
 
 $event = new Event();
 $event->setSummary('Appointment 141');
 $event->setLocation('Alexan');
 $start = new EventDateTime();
 $start->setDateTime('2012-09-07T10:00:00.000-07:00');
 $event->setStart($start);
 $end = new EventDateTime();
 $end->setDateTime('2012-09-07T10:25:00.000-07:00');
 $event->setEnd($end);
 echo 'aa';
 $event->setcolorId('7');
  echo 'aa2';
 $cal = new apiCalendarService($client);
 $createdEvent = $cal->events->insert('[email protected]', $event);
 echo 'ccc';
 echo $createdEvent->getId();
 //echo 'event id = '.$createdEvent['id'];
 echo 'event toegevoegd.';
 //print_r($createdEvent);
 }


$_SESSION['token'] = $client->getAccessToken();
echo 'dd     ';
}
else {
  $authUrl = $client->createAuthUrl();
  print "<a class='login' href='$authUrl'>Connect Me!</a>";
}

echo 'm      ';
?>
 
Reshad F

Reshad F

22/08/2012 23:29:20
Quote Anchor link
Hobbiesten hebben we hier heel veel. maar dat betekent niet dat je het "slecht" moet leren. is het niet leuker om zelf code te schrijven dan kopieren en plakken? overigens is je manier van debuggen echt waardeloos.

kijk even naar deze tutorial(s):

http://www.phphulp.nl/php/tutorial/overig/beginnersfouten-tegengaan/763/
http://www.phphulp.nl/php/tutorial/overig/oop-beginnershandleiding-php5/701/

Want ook al doe je dit als hobby dan moet je het wel goed doen natuurlijk!

dan nu over je code van boven naar beneden.

session_start moet ALTIJD bovenaan dus die print_r daarboven is fout..
tevens snap ik het nut daar even niet van waarom je beide print..

vervolgens zet je

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
/*
 * Error reportin 1 is aan 0 is uit
 */

ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL | E_STRICT);
?>


na je session start om te zien wat er fout gaat en wat niet ( debuggen ) ;)

bouw foutafhandeling in..

vertel ons de foutmeldingen die je krijgt.

mis je overigens geen gebruiker waar je naar toe moet mailen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$attendee1
= new EventAttendee();
$attendee1->setEmail('attendeeEmail');
// ...
$attendees = array($attendee1,
                   // ...
                  );
$event->attendees = $attendees;
?>
 
Gert-willem Sanders

gert-willem Sanders

23/08/2012 00:25:33
Quote Anchor link
Bedankt,voor die debug regels, nooit geweten hoe ik dat kon doen.
foutafhandeling komt er wel in maar eerst moet t werken en dan zo beperkt mogelijk dingen erbij zetten.

Fatal error: Call to a member function getId() on a non-object in /var/www/vhosts/hollandindoorsport.nl/httpdocs/test/test.php

dit is de foutmelding, en wat ik al dacht dus op de regel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo 'ddd'.$createdEvent->getId();
?>

$createdevent moet dus een new krijgen?
ik heb toegevoegd
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$createdEvent
= new Event();
?>

maar dit geeft dezelfde foutmelding.


Toevoeging op 23/08/2012 11:44:54:

ik heb in geen enkele tutor iets gevonden maar in een ander voorbeeld het volgende gevonden.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$client
->setUseObjects(true);
?>

dat was de oplossing, voor beide problemen, die ik ook verwachte hetzelfde te zijn.

Bedankt voor jullie moeite, ik ben er wel anders door gaan zoeken.

overigens kwam ik toen ik de foutboodschap eenmaal had hetzelfde probleem meer tegen en iedereen klaagt over het weinige dat over de v3 api is beschreven.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.