【问题标题】:Upload photo to picasa from android?将照片从 android 上传到 picasa?
【发布时间】:2017-08-04 08:24:09
【问题描述】:

我是安卓编程新手。我正在寻找一种将图片发送到 Picasa 的简单方法,我查看了很多关于它的项目。我只是想发送一个 JPEG 或 PNG 按钮,我单击、发送并显示一条消息,它是好的。 我知道这需要 Google API 和客户端身份验证,但很多人都表现出相同的意图发送。 请帮忙(对不起英文:P)

我发现了这个: http://code.google.com/p/google-api-java-client/source/browse?repo=samples#hg/picasa-android-sample

有人知道怎么用吗?但从基本面看,我迷路了。

【问题讨论】:

    标签: android google-api image-uploading picasa


    【解决方案1】:

    目前唯一存在的用于将照片上传到 Picasa 的在线代码就是这个..

    试试这个是否满足您的要求。如果满足,则使用按钮单击事件并在 notification.finished() 事件上显示消息以确保文件已上传。

    【讨论】:

    • 我已经看过这个项目,但他是在 2009 年。并且是在 Android 2.2 上编写的。我写了一个3及以上的应用程序,它必须是一些更高的代码或更好的API。
    【解决方案2】:

    相当老的帖子,但仅供参考,我成功地直接使用http post将我的图片上传到Picasa。他们自己的 Java API 不断返回错误。

    这个方法我已经详细写过了here

    File image = new File("/path/to/image.jpg");
    byte[] imageContent = null;
    try {
        imageContent = Files.toByteArray(image);
    } catch (Exception e) {
        // do something
    }
    
    HttpClient httpClient = HttpClientBuilder.create().build();
    HttpPost httpPost = new HttpPost("https://picasaweb.google.com/data/feed/api/user/default/albumid/default");
    httpPost.addHeader("Authorization",  "Bearer " + mAccessToken);
    httpPost.addHeader("Content-Type", "image/jpeg");
    httpPost.setEntity(new ByteArrayEntity(imageContent));
    
    try {
        HttpResponse httpResponse = httpClient.execute(httpPost);
        // log the response
        logd(EntityUtils.toString(httpResponse.getEntity()));
    } catch (IOException e){
        // do something
    }
    

    此方法使用 Apache 的 HttpClient。如果你的 Android 版本不支持,你仍然可以在 Gradle 文件中包含这一行来编译它:

    compile 'cz.msebera.android:httpclient:4.4.1.1'
    

    【讨论】:

    • 链接作为答案最适合 cmets 而不是答案。我建议编辑上述答案以添加主要部分,以便将其放在一个地方。该链接不包含那么多代码。
    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2014-06-27
    相关资源
    最近更新 更多