Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

porque tenho que passar $resource como parâmetro?

angular.module('meusServicos', ['ngResource'])
    .factory('recursoFoto', function($resource) {

        return $resource('/v1/fotos/:fotoId', null, {
            'update' : { 
                method: 'PUT'
            }
        });
    });
1 resposta
solução!

Porque assim como $http e $scope ele é um artefato que precisa ser injetado. Se você não passar $resource como conseguirá configurar seu recurso? Veja que não terá quem crie um para você.