使用CN1中的REST API上传到Cloudinary

时间:2016-05-03 02:54:21

标签: rest codenameone cloudinary

我正在尝试使用他们的REST API将我的图片上传到Cloudinary。来自CN1的Cloudinary库对我来说效果非常好,但我希望控制一些像FailSilently这样的东西,并能够添加ToQueue和addToQueueAndWait。

这是我的代码,我使用相机拍照,然后上传到Cloudinary,但它似乎无法正常工作:

function custom_post_type(){
    $labels = array(
        'name'=> 'Sports',
        'singular_name'=>'Sport',
        'add_new'=>'Add Item',
        'all_item'=>'All Item',
        'add_new_item'=>'Add Item',
        'edit_item'=>'Edit Item',
        'new_item'=>'New Item',
        'view_item'=>'View Item',
        'search_item'=>'Search Sport',
        'not_found'=>'No item found',
        'not_found_in_trash'=>'No items found in trash',
        'parent_item_colon'=>'Parent Item',
        'menu_name'=>'Sports'
    );

    $args= array(
        'labels'=>$labels,
        'public'=>true,
        'has_archive'=>true,
        'publicly_queryable'=>true,
        'query_var'=>true,
        'rewrite'=>true,
        'capability_type'=>'post',
        'hierarchical'=>false,
        'supports'=>array(
            'title',
            'editor',
            'excerpt',
            'thumbnail',
            'revisions'
        ),
        'taxonomies'=>array('category','post_tag'),
        'menu_position'=>null,
        'exclude_from_search'=>false
    );
    register_post_type('sport',$args);
}
add_action('init','custom_post_type');

我一直在尝试修改其API文档页面中指示的参数:http://cloudinary.com/documentation/admin_api#usage_examples

由于

修改 这是语法:

enter image description here

2 个答案:

答案 0 :(得分:2)

您需要在代码中进行一些更改。 请参阅this section

api_keyapi_secret不应像您一样添加为APIKEY + ":" + APISECRET。此语法仅在使用Admin API而非Upload API时使用。

在请求参数:

  • 您应该将api_key参数设置包含在api_key中。
  • 您应该将timestamp参数设置为当前时间。
  • timestamp以及public_idapi_secret should be signed。这应该是signature参数的值。

答案 1 :(得分:0)

" @"符号用于浏览器,不应用于请求。您需要使用基本身份验证:

String encoded = Base64.encodeNoNewline((APIKEY + ":" + APISECRET).getBytes());
request.addRequestHeader("Authorization", "Basic " + encoded);