2016-06-15 34 views
5

Uzantıları oluşturmak için yeni yapıyorum, lütfen bana katılın. Geçerli sayfa URL'sini Facebook üzerinden paylaşan bir uzantı oluşturmaya çalışıyorum. Facebook geliştiricileri sitesinin yönergelerini takip ettim ve bir proje oluşturdum ama yerel ana makine çalıştığı için chrome-extension: // "id" içermediği için uygulama alanı olarak neyin ekleneceğini bilmiyorum.Facebook eklentisi ve paylaşım alanı nedeniyle Chrome uzantısında çalışmaz

Paylaşım düğmesini tıkladığınızda, "URL Yüklenemiyor: Bu URL'nin alanı, uygulamanın etki alanlarına dahil değil. Bu URL'yi yükleyebilmeniz için, uygulamanızın tüm alan adlarını ve alt alan adlarını Uygulama ayarlarınızda Uygulama Alanları alanı. " Uygulama alanı ve URL olarak ne koyarım?

+0

Buna takılıyorum ..... Herhangi bir çözüm buldunuz mu? –

+0

Paylaşmak için '/ sharer/sharer.php' kullanabilirsiniz http://stackoverflow.com/q/14283842/1363799 – terales

cevap

3

Aynı problem vardı.

  • elle giriş akışını (https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow) uygulamak facebook giriş ayarlarında Gömülü Tarayıcı OAuth Login'i

    1. açın (- -> uygulamanızı seçin ürün ekleyin>https://developers.facebook.com/apps/): Bu benim çözümdür. Yeni sekmede oauth url'yi açın, değişiklikleri dinleyin ve başarı sayfasının sekme güncellemesi, url erişim jetonundan alındığında, jetonu depolamaya kaydedin ve sekmeyi kaldırın.
    2. Kullanıcı facebook grafik API (https://developers.facebook.com/docs/graph-api)
  • 0

    Kullanım chrome.identity api protokol sorunu önlemek için. Şöyle görünüyor:

    let options = { 
        interactive: true, 
        url: 'https://www.facebook.com/dialog/oauth?' + 
         stringifyQuery(Object.assign({ 
         app_id: 'your app id here', 
         redirect_uri: `https://${chrome.runtime.id}.chromiumapp.org/provider_cb`, 
         response_type: 'token', 
         access_type: 'online', 
         })) 
        }; 
    
        chrome.identity.launchWebAuthFlow(options, function (redirectUri) { 
        if (chrome.runtime.lastError) { 
         callback(new Error((chrome.runtime.lastError as string))); 
         return; 
        } 
        const response = parseUrl(redirectUri); 
        access_token = response[`#access_token`]; 
        callback(null, access_token); 
        }); 
    
    İlgili konular