2015-10-12 4 views
-2

Je construis le profil d'image de profil de Facebook et employant la classe de Phasher pour convertir des images raclées en valeurs hexadécimales et le stockez dans la base de données pour la comparer pour des images semblables en utilisant cette requête http pour chercher pour les images et cela fonctionnait très bien jusqu'à la dernière mise à jour pour l'API Graph v2.5Scraper d'image de profil de Facebook utilisant Graph API v2.5 et jeton d'accès

graph.facebook.com/'.$fid.'/picture?width=378 & hauteur = 378

Ou

graph.facebook.com/'.$fid.'/picture?type=large

vous pouvez changer '. $ Fid.' l'exemple d'identification de l'utilisateur pour le compte Marque:

graph.facebook.com/4/picture?width=378 & hauteur = 378

Comme vous pouvez le voir, il m'a donné l'image du compte de Mark Zuckerberg. Cela ne fonctionne pas maintenant, j'ai fait une recherche simple J'ai remarqué qu'ils ont changé l'API dans la version 2.5 pour utiliser le jeton d'accès, j'ai donc créé une application pour me donner App id et App secret pour l'utiliser dans access_token =

comme vous pouvez le voir dans cette ligne: graph.facebook.com/[ID]/picture?width=378 & height = 378 = & access_token

maintenant, quand j'utilise jeton d'accès, il ne fonctionne pas, il était avant me donnant les images grattées à l'intérieur du dossier avatar et haché les valeurs dans la base de données maintenant il me donne des images 0 octets et il est vide. (chose étrange quand j'ai commencé le grattoir c'est gratté 184 et 249 photos de profil des 300 images grattées)

Je dois savoir pourquoi cela est arrivé?

Vous pouvez consulter le code complet sur mon compte Github: github.com/jadolyo/FBpp

Toutes les suggestions sont les bienvenues aussi, Merci.

+0

Vous ne devriez pas "gratter" les images de profil de l'utilisateur aléatoire dans tous les cas. Vous devez uniquement accéder aux photos des personnes qui utilisent votre application. – CBroe

+0

Je fais l'outil de recherche d'image inverse pour toutes les images de profil de Facebook pour rechercher des images de profil similaires. s'il vous plaît regarder mon compte Github: http://github.com/jadolyo/FBpp – Jadolyo

+0

Vous devriez lire leur politique de plate-forme et de plate-forme. Le premier interdit de racler sans autorisation écrite préalable explicite de Facebook - et même si vous deviez utiliser une application pour cela, la politique 3.11 dit toujours, _ "Ne pas mettre des données Facebook dans un moteur de recherche ou un annuaire, Facebook."_ – CBroe

Répondre

0

http://php.net/manual/en/migration56.openssl.php

Un document officiel décrivant les modifications apportées à OpenSSL en PHP 5.6 A partir de là j'ai appris d'un paramètre plus j'aurais mis à faux: « verify_peer_name » => false

Donc, mon travail le code ressemble à ceci:

$arrContextOptions=array(
    "ssl"=>array(
     "verify_peer"=>false, 
     "verify_peer_name"=>false, 
    ), 
); 

$img = file_get_contents('https://graph.facebook.com/'.$fid.'/picture?width=378&height=378', false, stream_context_create($arrContextOptions));