First you must become independent. If you constantly seek the pleasure of knowing you are appreciated then you can't do this. This is how I fixed the issue:
First I realize that people appreciate what I do. Even if they don't say it, they are thankful if I do a good thing for them. Even if it nags me, I ignore it and realize I have benefited them as a person.
As for being afraid of speaking up, I also know this too well. I gave it a lot of thought, and experimented with speaking my opinion. People seem to like me a lot better as a person when I "put up a fight." If someone doesn't approve then I'll say something around the lines of "Well everyone has a right to their own opinion, and I respect yours." If I have a problem with something, I simply speak up and voice why I think it's a problem. It opens people's eyes more to problems they didn't see and it makes me feel better.
Independently confidant. As in... Not needing the approval of others in your life? I think I answered that above. You must be an individual, if you have no one around you you will do what you want to do. Take some of that and apply it to the real world, let yourself live a little. After doing what you please (with of course applied reasoning to your decision) then see what people say. This is what EVERYONE does you realize, right? They all do as they please with some applied reasoning to make it rational and have a sense of decency.
More assertion... It helps a lot. I'm sure you know how you only pay attention to the positive, and push the negative back in your psyche? Well later on that negativity comes out all at once, and makes you feel like everything is wrong with you. You will remember things that bothered you from a long time ago that are meaningless now, but will feel bad about it. Everything negative will come at you. Your lesson is to learn to avoid these outbursts of negativity and deal with the negativity first hand.
So say you saw a friend doing drugs, you are opposed to drugs and your friend has never done them. What would you normally do? You would retreat and be thinking "Wow why is he doing drugs?" You would feel bad, yet you would bottle it up inside. Instead of doing this, confront the person. "Why are you doing drugs? You realize one of the reasons we are friends is because you stay clean all the time right?" Let that negativity out, you will feel a lot better. But of course do it, as I said before, with applied reasoning and a sense of decency to your decisions.
If you do these things you will feel better a lot, you won't get in those negative moods. From this you will gain more self approval.