President Barack Obama on Tuesday vetoed a Republican bill approving the Keystone XL oil pipeline from Canada, the White House confirmed.