如何下载FaceBook用户照片
How to download a FaceBook user photo
我曾经使用CCHttpRequest(cocos2dx)从互联网上请求照片,它适用于像"https://www.baidu.com/img/bdlogo.png"这样的URL。
但是,我无法通过CCHttpRequest下载FB朋友照片。照片网址为"https://graph.facebook.com/1386570461651640/picture..."此外,我尝试了NSRequest(OC)。它适用于此 URL 并下载了照片。
因此,任何人都知道如何通过CCHttpRequest或任何其他在*.cpp文件中工作的方法下载朋友照片。
此代码
string _id = "" // id require to whome you want to fectch photo
HttpRequest* request = new (std::nothrow) HttpRequest();
string url = "https://graph.facebook.com/"+_id+"/picture?height=120
&width=120";
request->setUrl(url.c_str());
request->setRequestType(cocos2d::network::HttpRequest::Type::GET);
request->setResponseCallback(CC_CALLBACK_2(HellowWorld::onRequestImgCompleted, this));
request->setTag("GetImage");
HttpClient::getInstance()->send(request);
request->release();
void HellowWorld::onRequestImgCompleted(HttpClient *sender, HttpResponse *response)
{
log("AppDelegate::onHttpRequestCompleted - onHttpRequestCompleted BEGIN");
if (!response)
{
log("onHttpRequestCompleted - No Response");
return;
}
log("onHttpRequestCompleted - Response code: %lu", response->getResponseCode());
if (!response->isSucceed())
{
log("onHttpRequestCompleted - Response failed");
log("onHttpRequestCompleted - Error buffer: %s", response->getErrorBuffer());
return;
}
log("onHttpRequestCompleted - Response code: %s", response->getResponseDataString());
std::vector<char> *buffer = response->getResponseData();
Image * image = new Image ();
image-> initWithImageData ( reinterpret_cast<const unsigned char*>(&(buffer->front())), buffer->size());
Texture2D * texture = new Texture2D ();
texture-> initWithImage (image);
Sprite* sp = Sprite::createWithTexture(texture);
add(sp);
sp->setPosition(Vec2(100, 100));
}
相关文章:
- C++如何通过用户输入删除列表元素
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- C++MySQL C api用户输入行
- 使用用户定义函数的字符串反转
- 用户定义函数中的指针和输入
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- 如何只允许用户输入正整数
- C++如何计算用户输入的数字中的偶数位数
- 通过for循环使用用户输入填充列表
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- 在C++中,我如何接受不同于同一行的用户输入
- 当用户超过按钮点击限制时报告
- Visual C++(VS2017)中用户定义的转换不明确
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- C++问题:用户认为数字1-100,程序提出问题不超过6次即可得到答案。无法正确
- 当用户键入分隔符时,停止getline()输入
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- RegGetValue在当前用户下找不到名称
- 如何下载FaceBook用户照片