我已阅读以下帖子Post 1,并按照ak7的回答获取fb图片的网址,但当我浏览网址时,会显示带有灰色背景和问号的照片。然后我尝试按照Second post Mike Troinfo的回答并添加图片作为查询字符串的参数,但info变量没有任何与图像对应的参数。请帮助我找出一个解决方案,从Facebook获取用户DP并将其存储在数据库中
document.body.contains(isIntalledNode)
答案 0 :(得分:1)
在获取图片之前,您已获得用户的访问令牌。然后你点击该网址获取图片。请参阅此链接first。
May be this link help you to get authentication token。
最后你必须像那样打网址。
使用这个你将获得一个json
{
"data": {
"is_silhouette": true,
"url": "https://scontent.xx.fbcdn.net/hprofile-xfa1/v/t1.0-1/s200x200/10354686_10150004552801856_220367501106153455_n.jpg?_nc_eui=ARhjdKn0xJ2BpM9I6X_JD0UDCnmaSk6REHSU6yD01EeYw9avdnIb6dqiVr74&oh=3f560f9bf95ca602bb19c2d7b8870e1a&oe=57869A50"
}
}
然后从该网址中保存图像。有很多技术可以从网址中保存图像。
{
byte [] data = webClient.DownloadData("https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-xpf1/v/t34.0-12/10555140_10201501435212873_1318258071_n.jpg?oh=97ebc03895b7acee9aebbde7d6b002bf&oe=53C9ABB0&__gda__=1405685729_110e04e71d9");
using (MemoryStream mem = new MemoryStream(data))
{
using (var yourImage = Image.FromStream(mem))
{
// If you want it as Png
yourImage.Save("path_to_your_file.png", ImageFormat.Png) ;
// If you want it as Jpeg
yourImage.Save("path_to_your_file.jpg", ImageFormat.Jpeg) ;
}
}
}
有关详细信息,请see此处。