In general I would not recommend driving a motor (even a small one) directly with a microcontroller GPIO pin. Those pins aren't designed to sink much current and you'll at best get a very weak response, because although the MCU is 3V that's only going to be maintained with negligible load on the pin. At worst flyback may destroy your microcontroller because the motor is an inductor and will cause a reverse voltage spike when turned off.
A slightly more robust approach that costs just a few pennies more is to use a BJT (i.e. an NPN transistor) to drive the motor and add a flyback diode (a reverse biased diode across the motor's windings) and a little .1uf capacitor.
You could also use a FET to drive it. Just be aware most common ones don't fully turn on at 3V gate voltage and will still present a significant resistance in the circuit which is why I would probably use a BJT.