Совместное использование изображений хранилища Firebase с помощью Facebook SDK (JavaScript) - PullRequest
0 голосов
/ 28 апреля 2018

Я использую Firebase для хранения пользовательских изображений. Я хочу добавить возможность для пользователя делиться этими фотографиями на Facebook. Я создал проект на Facebook разработчиков. В настоящее время я использую React, поэтому ниже приведена разбавленная версия моего компонента.

class Share extends React.Component {
    componentDidMount() {
        window.fbAsyncInit = function() {
            //SDK loaded, initialize it
            FB.init({
                appId      : 'app-id',
                xfbml      : true,
                version    : 'v2.6'
            });
            //JS SDK initialized, now you can use it
            FB.XFBML.parse();
        };

        //load the JavaScript SDK
        (function(d, s, id){
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement(s); js.id = id;
            js.src = "//connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
    }

    render() {
        return (
            <a onClick={() => {
                FB.ui({
                    method: 'share',
                    display: 'popup',
                    href: imageData.image_url
                })
            }}>Share</a>
        )
    }
}

/*
    imageData.image_url = "https://firebasestorage.googleapis.com/v0/b/zoostagram-c0ec2.appspot.com/o/journey%2FTbewuTE9MDZaBByadZUz9kXjtK93%2F-LAucp-cHpPUWnMmn_GV%2F174915781175375011-1618340686-1759905821-1592844446-1892410559-711095936445312870.jpg?alt=media&token=5a37d0d5-2917-4783-ab4c-2dbd94734320"
*/

Открывается всплывающее окно с общим ресурсом Facebook, поэтому я предполагаю, что функция FB.init() работает нормально. Тем не менее я получаю сообщение об ошибке во всплывающем окне: « Невозможно загрузить URL: домен этого URL не входит в домены приложения. Чтобы иметь возможность загрузить этот URL, добавьте все домены и субдомены вашего приложения в поле Домены приложения в настройках приложения."

Я пытался добавить firebasestorage.googleapis.com к своим доменам приложений, но он не сохраняется, потому что это не URL моего сайта. Другие заметки, я использую 'create-реагировать-приложение', поэтому все еще развивается в localhost. Я также пытался запустить encodeURI(url) & encodeURIComponent(url), ни один из которых не сработал.

...