Gravenbeek debuteerde in het seizoen 2009/10 in het profvoetbal voor Vitesse. Hij maakte op 28 augustus 2009 zijn debuut in het profvoetbal tegen Roda JC Kerkrade (3-4 winst), als invaller voor Lasse Nilsson. De laatste vijf wedstrijden van dat seizoen was hij basisspeler en speelde hij negentig minuten. Hij speelde negen wedstrijden voor Vitesse.
In juni 2010 tekende hij een eenjarig contract bij Willem II met daarin een optie voor nog twee seizoenen. Op 24 oktober maakte hij zijn debuut voor Willem II. In zijn eerste seizoen voor de club speelde hij negentien wedstrijden, maar degradeerde hij. Zijn contract werd verlengd tot medio 2013. De eerste vijftien wedstrijden speelde hij bijna alles, maar daarna verdween hij uit de selectie. De technische staf zette Gravenbeek in november terug naar de beloften, nadat hij 'een grens had overschreden'. Wat dat inhield wilde technisch manager Marc van Hintum destijds niet vertellen. Volgens trainer Jurgen Streppel was Gravenbeek 'meer met het individu dan met het team bezig'.
Eind mei 2012 tekende Giovanni een tweejarig contract bij PEC Zwolle[1]. Hij debuteerde op 11 augustus voor PEC met een 1-1 gelijkspel tegen Roda JC Kerkrade. Gravenbeek werd op verschillende posities gebruikt dat seizoen: rechtsbuiten, linksbuiten, rechtermiddenvelder en centrale middenvelder. In zijn tweede seizoen werd hij ook regelmatig een linie naar achteren gehaald om te spelen als rechtsback of centrale verdediger. Op 14 september 2013 scoorde Gravenbeek zijn eerste goal in zijn profcarrière in de verloren wedstrijd tegen Ajax. Gravenbeek speelde twee seizoenen voor PEC en kwam tot 53 wedstrijden en één goal.
Op 18 augustus 2014 tekende hij een contract voor een jaar met een optie op nog twee jaar bij N.E.C..[2] Hij streed met Marcel Appiah om de plek van rechtsback. Op 28 september maakte hij zijn debuut voor N.E.C. tegen De Graafschap (2-0 overwinning). Met N.E.C. werd hij kampioen van de eerste divisie waarna de club de optie niet lichtte. Hij speelde 26 wedstrijden voor N.E.C.
Na ruim een half jaar zonder club tekende Gravenbeek op 18 februari 2016 een contract tot het einde van het seizoen 2015/16 bij FC Dordrecht. Op 11 maart maakte hij zijn debuut voor Dordrecht. Hij speelde zeven wedstrijden voor FC Dordrecht.
Nadat Gravenbeek een seizoen zonder club zat, tekende hij in juli 2017 een contract bij FK Rudar Plevlja uit Montenegro.[3] Hier speelde hij echter maar één wedstrijd, waarna hij eind augustus 2017 voor SV Spakenburg ging spelen. Daar speelde hij twee seizoenen, in zijn eerste promoveerde hij naar de Tweede Divisie. Hij speelde 32 wedstrijden voor Spakenburg en scoorde eenmaal.
Bronnen, noten en/of referenties