2017-12-24 39 views
0

Guten Tag. Mit meiner Web-Anwendung erlaube ich meinen Kunden, Fotoalben auf ihren Facebook-Seiten zu veröffentlichen und sich in einem sozialen Netzwerk mit eigenen Konten einzuloggen. Um es zu schaffen, habe ich eine öffentliche Facebook-App erstellt und die Kunden als Tester eingestellt. Um das Album zu veröffentlichen, habe ich eine JavaScript-Routine erstellt. Für einige von ihnen, wenn man auf eine Schaltfläche einer Webanwendung klickt, die das Album veröffentlicht, wird die Anforderung, die App zu erlauben, es nicht zu machen, angezeigt und die Operation wird nicht ausgeführt. In einer Browserkonsole wird kein JavaScript-Fehler angezeigt. Der Popup-Block in einem Browser ist deaktiviert. Warum? Mit freundlichen Grüßen. Stefano ErraniBenutzer sehen keine Facebook-App-Berechtigungen, wenn sie ausgeführt wird

+0

hart (auch bekannt als unmöglich) mit den Informationen zur Hand zu helfen. Wie wäre es mit Code? – luschn

Antwort

0

Dies ist ein Ausschnitt aus Javascript-Code:

window.fbAsyncInit = function() { 
    FB.init({ 
     appId : "<%=myfbappid%>", 
     xfbml : false, 
     version : "v2.11" 
    }); 
    FB.AppEvents.logPageView(); 
    pubblicaFacebook(); 
} 

function pubblicaFacebook() { 
    FB.getLoginStatus(function(response) { 
    if (response.status == 'connected') { 
     var pageId = "<%=pageid%>"; 
     var accessToken = ""; 
     if (pageId == "me") { 
      accessToken = response.authResponse.accessToken; 
     } 
     FB.api("/me/accounts", function(response) { 
      for (i = 0; i < response.data.length; i++) { 
       var p_id = response.data[i].id; 
       if (pageId == p_id) { 
        accessToken = response.data[i].access_token; 
        break; 
       } 
      } 
      FB.api("/<%=pageid%>/albums", "post", {message: messaggio, name: '<%=nomealbum%>', access_token: accessToken}, function (response) { 
       if (response && !response.error) { 
        var albumId = response.id; 
        if (albumId > 0) { 
         var fotos = "<%=foto%>"; 
         var afoto = new Array(); 
         var x = 0; 
         var i = 0; 
         while (fotos.indexOf("#", x) > 0) { 
          var y = fotos.indexOf("#", x); 
          afoto[i] = fotos.substring(x, y); 
          x = y + 1; 
          i++; 
         } 
         for (i = 0; i < afoto.length; i++) { 
          FB.api("/" + albumId + "/photos", "post", {message: "", url: afoto[i], access_token: accessToken}); 
         } 
        } 
       } else { 
        console.log(response); 
       } 
      }); 
     } else { 
      FB.login(function(response) { 
       if (response.authResponse) { 
        pubblicaFacebook(); 
       } 
      }, {scope: "publish_actions,publish_pages,manage_pages"}); 
     } 
    }); 
} 
Verwandte Themen