Jianqing's Blog Archive

Flickr学习总结

使用了一下Flickr,下面简单的总结一下: Flickr Feature list

1.上传/下载图片/视频 2.添加/删除/搜索好友(自己人) 3.加入/退出/搜索群组(社群) 4.建立相册(相片集) 5.图片编辑功能(标题,标签,描述,旋转等)还有 在Picnik模式下进行图片编辑(颜色渲染,各种模式套用(很多都是收费的)) 6.图片阅读权限设置 7.图片冲印(只限于美国) 8.地图:将图片拖放到地图上,还可以保存地图 9.通过邮箱快速上传图片 10.通过邮箱将图片发送到网站上(wordpress,twitter等) 11.图片不同尺寸查看,并自动生成对应HTML代码,可以用来贴到网页上。 12.发掘:查找感兴趣的内容。 13.图片评论。

Flickr API(需要申请API KEY): Flickr的API支持的语言种类繁多,常见语言都有支持:比如:C,C#,JAVA,Delphi,.Net.Perl,Perl,PHP,Python,Ruby等,但都是非官方支持。 1.API文档地址: http://www.flickr.com/services/ http://www.flickr.com/services/api/

2.JAVA API(非官方) a)jickr:https://jickr.dev.java.net/servlets/ProjectDocumentList;jsessionid=AEB5B1599DDF544867E26019833C972E (已停止更新) b)flickj:http://sourceforge.net/projects/flickrj/ (纯JAVA API,功能比较全,如果要开发,推荐用这个API)

Recommended feature set for android 1.上传/下载图片/视频 2.添加/删除/搜索好友(自己人) 3.加入/退出/搜索群组(社群) 4.建立相册(相片集) 5.图片编辑功能(标题,标签,描述),其它像旋转等功能在android实现应该会有困难。 6.图片阅读权限设置 9.通过邮箱快速上传图片 10.通过邮箱将图片发送到网站上(wordpress,twitter等) 13.图片评论。

Android 客户端: 1.当前还没看到有官方的Android客户端。 2.PhotoStream Stream(Google),从2008年10月份,就没有再更新过,代码可以用来参考。

可以浏览你曾经上传的照片。 http://code.google.com/p/apps-for-android/

相关介绍:http://www.cnpda.com.cn/thread-157350-1-4.html

Flickr相关软件介绍: http://daxu.net/archives/460.html

附: 1.写了一个脚本用来测试 Flickr API,只实现了一部分API。 代码在:http://github.com/pjq/FlickrShell/tree/master ps.实现了给blog发送文章的功能 2.下载Flickrj API 源代码的脚本。 默认http://sourceforge.net/projects/flickrj/ 只能下载已经打包好的jar文件。 脚本写得比较烂,手动深入了两级目录,什么时候你看到了dir3.list有东西了,就说明已经有3级目录了 ,这时就需要手动进行扩充了。 代码也在:http://github.com/pjq/FlickrShell/tree/master目录下:getFlickrj.java

pjq@gentoo-pjq ~/flickr/flickr $ cat getFlickrj.sh #########################################################################

Author: [email protected]

Created Time: Thu 06 Aug 2009 07:34:57 PM CST

File Name: getFlickr.sh

Description:Welcome to visit:www.impjq.net for more information.

#This shell is used to get the flickrj java source code. #flickrj is the flickr API of JAVA implementation. #More information please visit:www.impjq.net #########################################################################

#Download Base URL #http://flickrj.cvs.sourceforge.net/viewvc/checkout/flickrj/api/src/com/aetrion/flickr/REST.java

#activity dir URL #http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/activity/?hideattic=1&pathrev=MAIN

TEMP=./temp OUTDIR=./src/com/aetrion/flickr JAVALIST=${TEMP}/java.list

[ -e “${TEMP}” ]   { echo “mkdir ${TEMP}”; mkdir ${TEMP}; }

getJavaList() { echo “Get main.html” w3m -no-cookie “http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/?hideattic=1&pathrev=MAIN”>${TEMP}/main

#Get the main dir list echo “Get dir list” cat ${TEMP}/main|grep “^●”|cut -b -33|grep “/ “|sed ‘s/● //g’|sed ‘s/\///g’ >${TEMP}/dir.list

#Get the Javalist in the root dir: echo “Get java list in the root dir” grep java ${TEMP}/main|grep “.java”|cut -b -33|grep java|sed ‘s/● //g’|cut -d “ “ -f1 >${JAVALIST}

echo "do For "
for DIR in `cat ${TEMP}/dir.list`:
do
    echo "DIR=${DIR}"
    [ -e ${OUTDIR}/${DIR} ] || { echo "mkdir -p ${OUTDIR}/${DIR}";mkdir -p ${OUTDIR}/${DIR}; }
    w3m -no-cookie "http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/${DIR}?hideattic=1&pathrev=MAIN" >${TEMP}/${DIR}
    cat ${TEMP}/${DIR}|grep "^●"|cut -b -33|grep "/ "|sed 's/● //g'|sed 's/\///g' >${TEMP}/dir2.list

    grep java ${TEMP}/${DIR}|grep ".java"|cut -b -33|grep java|sed 's/● //g'|cut -d " " -f1|sed 's/^/'${DIR}'\//g' >>${JAVALIST}

    echo "cat ${TEMP}/dir2.list"
    cat ${TEMP}/dir2.list

    for DIR2 in `cat ${TEMP}/dir2.list`:
    do
        [ "${DIR2}" = ":" ] && continue
        echo "DIR2=${DIR}/${DIR2}"
        [ -e ${OUTDIR}/${DIR}/${DIR2} ] || { echo "mkdir -p ${OUTDIR}/${DIR}/${DIR2}";mkdir -p  ${OUTDIR}/${DIR}/${DIR2}; }
        TEMPDIR="${DIR}\/${DIR2}\/"
        echo TEMPDIR=${TEMPDIR}
        w3m -no-cookie "http://flickrj.cvs.sourceforge.net/viewvc/flickrj/api/src/com/aetrion/flickr/${DIR}/${DIR2}?hideattic=1&pathrev=MAIN" >${TEMP}/${DIR2}
        cat ${TEMP}/${DIR2}|grep "^●"|cut -b -33|grep "/ "|sed 's/● //g'|sed 's/\///g' >>${TEMP}/dir3.list

        grep java ${TEMP}/${DIR2}|grep ".java"|cut -b -33|grep java|sed 's/● //g'|cut -d " " -f1|sed 's/^/'${TEMPDIR}'/g' >>${JAVALIST}

    done
done }

getJavaFile(%2

Tags: