2016-09-12 65 views

回答

1

有一個項目 https://developers.podio.com/doc/items/get-item-22360

這裏,我已經連接的Java SDK的代碼示例的詳細信息的方法。希望它可以幫助

enter image description here

import java.io.Serializable; 


import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.List; 
import java.util.Map; 

import com.podio.app.AppAPI; 
import com.podio.app.ApplicationField; 
import com.podio.common.Reference; 
import com.podio.common.ReferenceType; 
import com.podio.contact.Profile; 
import com.podio.file.FileAPI; 
import com.podio.item.FieldValuesUpdate; 
import com.podio.item.FieldValuesView; 
import com.podio.item.ItemAPI; 
import com.podio.item.ItemBadge; 
import com.podio.item.ItemCreate; 
import com.podio.item.ItemUpdate; 
import com.podio.item.ItemsResponse; 
import com.podio.oauth.OAuthClientCredentials; 
import com.podio.oauth.OAuthUsernameCredentials; 
import com.podio.task.Task; 
import com.podio.task.TaskAPI; 
import com.podio.user.UserAPI; 


public class APICall implements Serializable { 
    public static void main(String as[]){ 
     APICall apiObj = new APICall(); 
     apiObj.apicall(); 
    } 

    /** 
    * 
    */ 
    public void apicall() 
    { 
     try{ 
      System.out.println("inside"); 

      ResourceFactory resourceFactory = new ResourceFactory(new OAuthClientCredentials("<your app name>","<your client secret>"),new OAuthUsernameCredentials("<user_name>", "<password>")); 
      //List<filters> 
      ItemAPI itapi = new ItemAPI(resourceFactory); 
      ItemsResponse itres =itapi.getItems(<item_id>, null, null, null, null, null); 
      List<ItemBadge> li= itres.getItems(); 

      for (ItemBadge ib : li){ 
       List<FieldValuesView> listvals =ib.getFields(); 

       for (FieldValuesView val : listvals){ 
        System.out.println(val.getValues()+"--"+val.getExternalId()); 
       } 



       FileAPI fapi = new FileAPI(resourceFactory); 
       java.io.File file = new java.io.File("/Users/brijeshluckria/Downloads/Contacts - All Contacts.xlsx"); 

       System.out.println(file.getAbsolutePath()+"::"+file.exists()); 

       int id=fapi.uploadFile("Apifile",file); 
       System.out.println("ids"+id); 
+0

你好priya,我忘了告訴,我創建它在PHP中的鉤子。 –

+0

我使用這個 https://developers.podio.com/doc/hooks。當你更新/創建一個項目時,鉤子觸發,我想知道哪個字段(external_id)已更新 –

1

external_id參數爲item.createitem.update掛鉤發送。爲了讓它發送,項目需要它:)

所以,如果你只是從跑道網創建項目,該項目將不會有任何external_id。但是,如果您通過API創建項目並指定external_id,那麼它將在那裏。 這裏充滿例如紅寶石

attr = {:fields => { :title => 'Created with external ID'}, 
     :external_id => 'exernal_id_for_demo' } 
item = Podio::Item.create(app_id, attr) 

然後網絡掛接item.create將是:

item_id: 720040614 
item_revision_id: 0 
type: item.create 
hook_id: 7243151 
external_id: exernal_id_for_demo 

當項不具有EXTERNAL_ID然後調用網絡掛接時,你只會得到一個item_id作爲POST參數。使用這個來創建一個API請求來獲取webhook被調用的項目,然後您可以獲取所有項目詳細信息。您還可以獲取項目修訂,以查看哪些字段已更新。

你也可以爲不同的領域創建幾個不同的webhooks。
作爲文檔說: Additionally, the three hooks item.create, item.update and item.delete can also work on a field level. If you use "app_field" as the ref_type and an app field_id as the ref_id your hook will only be triggered if the changes happen to that particular field.

那麼你的網絡掛接將只在特定的領域進行了修改引發的,但我還是建議去與getItemgetRevisions路徑。